Вопрос № 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!
Работа с файлами на С++ достаточно обширная тема, но если для начинающих, то посмотрите здесь:
(приведены небольшое описание и примерчик). А для более глубокого понимания советую почитать книгу "Николай Джосьютис. Стандартная библиотека С++". Электронный вариант можете найти здесь:
В главе "Ввод-вывод с использованием потоковых классов" есть подраздел посвященный работе с файлами.
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 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 Комментарий оценки: Спасибо! Уже написал такую прогу на паскале, ну и черт с ней, с консолью... Буду разбираться.