Другие языки программирования и технологии

С/C++ работа с файлами, удаление и вывод на экран заранее не известных файлов

1. в папке с программой лежит заранее неизвестное число текстовых файлов с заранее не известными названиями. как можно сделать так чтобы программа взяла текст всех этих файлов и вывела на консоль сплошным текстом?

2. пользователь пишет название файла, а программа удаляет именно этот файл. программа заранее не знает что именно будет удалять пользователь

можете написать хоть примерный код? или просто ссылку на статью где есть подобные примеры? ничего не могу найти именно с этим функционалом
Тут какое дело:
Либо использовать API функции ОС, либо использовать нововведения filesystem начиная с C++ 17, либо сторонние библиотеки (которые не входят в стандарт C++)
И как-бэ разница существенная.

Определитесь - пишите в комменты. Может что подскажу. 3-5+ вариантов кода писать не хочется =)
ЭД
Эмиль Джунушев
84 764
Лучший ответ
Для 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)
Эмиль Джунушев А вдруг линух или ещё что =)
Если пользуетесь ос windows то:

1.Можно воспользоваться функцией system, она позволяет вызывать консольные команды напрямую, поизучайте команды cmd, там есть полно полезных автоматизированных команд (вывод текста из txt файлов, вывод папок и файлов находящихся в директории).

2.Есть куча функций на все случаи жизни для работы с файлами в WinAPI(библиотеки Windows.h и ShlObj.h), минус в том что они довольно громоздкие и функции сперва тяжелы в понимании того как ими пользоваться.

Есть конечно ещё стандартные C и С++ функции, но их мало и позволяют лишь создать/удалить файл, записать/получить текст из txt. В Visual Studio 2019 обещали подвезти новые стандартные функции для работы с файлами (они уже доступны в тестовом варианте, но могут работать не правильно).
Эмиль Джунушев system и cmd - забудьте при использовании C++