1. в папке с программой лежит заранее неизвестное число текстовых файлов с заранее не известными названиями. как можно сделать так чтобы программа взяла текст всех этих файлов и вывела на консоль сплошным текстом?
2. пользователь пишет название файла, а программа удаляет именно этот файл. программа заранее не знает что именно будет удалять пользователь
можете написать хоть примерный код? или просто ссылку на статью где есть подобные примеры? ничего не могу найти именно с этим функционалом
Другие языки программирования и технологии
С/C++ работа с файлами, удаление и вывод на экран заранее не известных файлов
Тут какое дело:
Либо использовать API функции ОС, либо использовать нововведения filesystem начиная с C++ 17, либо сторонние библиотеки (которые не входят в стандарт C++)
И как-бэ разница существенная.
Определитесь - пишите в комменты. Может что подскажу. 3-5+ вариантов кода писать не хочется =)
Либо использовать API функции ОС, либо использовать нововведения filesystem начиная с C++ 17, либо сторонние библиотеки (которые не входят в стандарт C++)
И как-бэ разница существенная.
Определитесь - пишите в комменты. Может что подскажу. 3-5+ вариантов кода писать не хочется =)
Для Windows:
1.
#include < Windows.h >
#include < shlwapi.h > //shlwapi.lib
#include < iostream >
#include < fstream >
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
WCHAR path[MAX_PATH];
GetModuleFileName(NULL, path, MAX_PATH);
PathRemoveFileSpec(path);
SetCurrentDirectory(path);
WIN32_FIND_DATA fdata;
HANDLE search = FindFirstFile(L"*.txt", &fdata);
if (search != INVALID_HANDLE_VALUE) do {
wifstream file(fdata.cFileName);
if (file.is_open()) wcout << file.rdbuf();
} while (FindNextFile(search, &fdata) != 0);
FindClose(search);
return 0;
}
2.
wstring filename;
wcin >> filename;
DeleteFile(filename.c_str());
(если нужно удалить в корзину, используй функцию SHFileOperation)
1.
#include < Windows.h >
#include < shlwapi.h > //shlwapi.lib
#include < iostream >
#include < fstream >
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
WCHAR path[MAX_PATH];
GetModuleFileName(NULL, path, MAX_PATH);
PathRemoveFileSpec(path);
SetCurrentDirectory(path);
WIN32_FIND_DATA fdata;
HANDLE search = FindFirstFile(L"*.txt", &fdata);
if (search != INVALID_HANDLE_VALUE) do {
wifstream file(fdata.cFileName);
if (file.is_open()) wcout << file.rdbuf();
} while (FindNextFile(search, &fdata) != 0);
FindClose(search);
return 0;
}
2.
wstring filename;
wcin >> filename;
DeleteFile(filename.c_str());
(если нужно удалить в корзину, используй функцию SHFileOperation)
Эмиль Джунушев
А вдруг линух или ещё что =)
Если пользуетесь ос windows то:
1.Можно воспользоваться функцией system, она позволяет вызывать консольные команды напрямую, поизучайте команды cmd, там есть полно полезных автоматизированных команд (вывод текста из txt файлов, вывод папок и файлов находящихся в директории).
2.Есть куча функций на все случаи жизни для работы с файлами в WinAPI(библиотеки Windows.h и ShlObj.h), минус в том что они довольно громоздкие и функции сперва тяжелы в понимании того как ими пользоваться.
Есть конечно ещё стандартные C и С++ функции, но их мало и позволяют лишь создать/удалить файл, записать/получить текст из txt. В Visual Studio 2019 обещали подвезти новые стандартные функции для работы с файлами (они уже доступны в тестовом варианте, но могут работать не правильно).
1.Можно воспользоваться функцией system, она позволяет вызывать консольные команды напрямую, поизучайте команды cmd, там есть полно полезных автоматизированных команд (вывод текста из txt файлов, вывод папок и файлов находящихся в директории).
2.Есть куча функций на все случаи жизни для работы с файлами в WinAPI(библиотеки Windows.h и ShlObj.h), минус в том что они довольно громоздкие и функции сперва тяжелы в понимании того как ими пользоваться.
Есть конечно ещё стандартные C и С++ функции, но их мало и позволяют лишь создать/удалить файл, записать/получить текст из txt. В Visual Studio 2019 обещали подвезти новые стандартные функции для работы с файлами (они уже доступны в тестовом варианте, но могут работать не правильно).
Эмиль Джунушев
system и cmd - забудьте при использовании C++
Похожие вопросы
- Программирование на C++.Работа с файлами.
- Delphi, работа с файлами
- [C++] Добавление .cpp-файлов в проект
- Программирование С++(работа с файлами) Подробное описание
- Работа с файлами. PascalABC.
- НАПИСАТЬ ПРОГРАММУ В ПАСКАЛЬ! Нахождение суммы чисел в матрице, ввод чисел осуществить из файла matrix.txt вывод на экран.
- С++ работа с файлами, как достать отдельно слова из файла
- Работа с файлами в АССЕМБЛЕРЕ. Надо считывать файл, путь указывает пользователь при запуске программу. Помогите!
- Помогите пожалуйста. Язык Си работа с файлами
- Примитивная работа с файлами. PASCAL.