Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 818
от 12.08.2007, 14:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 503, Экспертов: 66
В номере:Вопросов: 2, Ответов: 6


Вопрос № 97514: Здравствуйте, Как в С++ в определённом каталоге найте все файлы *.txt и поочерёдно загружать их в программу?...
Вопрос № 97586: Здравствуйте! Очень нужна Ваша помощь! Я чайник в программировании, начал изучать C++ неделю назад и наткнулся на проблему. Прога должна проверить, есть ли файл с заданным именем в такой-то папке, если нет -создать его, если есть - открыть для за...

Вопрос № 97.514
Здравствуйте,
Как в С++ в определённом каталоге найте все файлы *.txt и поочерёдно загружать их в программу?
Отправлен: 06.08.2007, 15:40
Вопрос задал: M_a_d (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: V1s0r
Здравствуйте, M_a_d!

http://boost.org/libs/filesystem/doc/index.htm - то, что вам нужно.
Ответ отправил: V1s0r (статус: 3-ий класс)
Ответ отправлен: 06.08.2007, 15:56
Оценка за ответ: 3
Комментарий оценки:
Спасибо,
ещёб на русском...

Отвечает: Ross
Здравствуйте, M_a_d!

#include
#include
using namespace std;

void main()
{
string path = "C:*.*",
name;

HANDLE find_file;
LPWIN32_FIND_DATAA fData = new WIN32_FIND_DATAA;

//---ищем все допустимые файлы в указанном каталоге
find_file = FindFirstFileA(path.c_str(),fData);

while (FindNextFileA(find_file,fData))
{
//---перевести в нижний регистр
strlwr(fData->cFileName);
name = fData->cFileName;
//----расширение файла
string::size_type offset = name.find_last_of('.');
string ext = name.substr(offset + 1);

if (ext == "txt")
{
//---здесь вставь свой код
}
}
FindClose(find_file);
}
---------
Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 07.08.2007, 01:14
Оценка за ответ: 5

Отвечает: Терсков Сергей
Здравствуйте, M_a_d!
Вот примерный вариант вашей задачи. Путь к папке - переменная dir_path, расширение файла - file_extension. Весь нужный вам код для работы с файлами вставляйте в функцию void work_with_file(const string& file_name);

Приложение:

Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 07.08.2007, 03:29
Оценка за ответ: 5
Комментарий оценки:
тут не понял
string path = "C:*.*", name;
если я путь меняют на C: emp" то ничего не ищется :( , нужно как то по другому обозначать путь?


Вопрос № 97.586
Здравствуйте!
Очень нужна Ваша помощь! Я чайник в программировании, начал изучать C++ неделю назад и наткнулся на проблему. Прога должна проверить, есть ли файл с заданным именем в такой-то папке, если нет -создать его, если есть - открыть для записи. Назовем его файл1. А дальше она должна открыть файл2 (имя вводится в поле Edit - как сделать кнопку "обзор"?), считать из него несколько символов и записать их в файл1 вместе со значениями нескольких полей Edit и Label. Алгоритм готов, все работает, не могу сделать файловый ввод-вывод. Напишите, как это объявляется файл, открывается и как из него читать/писать - если можно, на примере. Или подскажите, где можно скачать учебник или статью, где это подробно и понятно описывается. Спасибо!
Отправлен: 07.08.2007, 08:42
Вопрос задал: xBuzzee (статус: 7-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, xbz06ee!
Работа с файлами на С++ достаточно обширная тема, но если для начинающих, то посмотрите здесь:

ad.cctpu.edu.ru/cpp/glava27_5.htm

(приведены небольшое описание и примерчик). А для более глубокого понимания советую почитать книгу "Николай Джосьютис. Стандартная библиотека С++". Электронный вариант можете найти здесь:

delinux.narod.ru/book.html

В главе "Ввод-вывод с использованием потоковых классов" есть подраздел посвященный работе с файлами.
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 07.08.2007, 09:23
Оценка за ответ: 4
Комментарий оценки:
Спасибо за ссылки.

Отвечает: Sema
Здравствуйте, xbz06ee!

есть функция fopen у нее 2 параметра,
первый путь к файлу
второй - модификатор при помощи которого он будет открыт.
r
r+
w
w+
и др.

был давно сайт такой firststep.ru вот там поищи
Ответ отправил: Sema (статус: 3-ий класс)
Ответ отправлен: 07.08.2007, 09:27
Оценка за ответ: 3
Комментарий оценки:
Хотелось бы поподробнее, да и ответ частичный.

Отвечает: Усова Татьяна Владимировна
Здравствуйте, xbz06ee!
Я хочу вам посоветовать следующие книги:
1. А.Я. Архангельский "Программирование в С++ Builder 6", глава 3.10 "Системные диалоги";
2. Р. Лафоре "Объектно-ориентированное программирование в С++", глава 12.
Мне они очень понравились, особенно Р.Лафоре. Просто, доступно и с примерами.
Скачать их можно с ресурса www.natahaus.ru
Ответ отправила: Усова Татьяна Владимировна (статус: 1-ый класс)
Ответ отправлен: 08.08.2007, 06:56
Оценка за ответ: 4
Комментарий оценки:
Спасибо! Уже написал такую прогу на паскале, ну и черт с ней, с консолью... Буду разбираться.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.54 beta от 01.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное