Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Помогите пожалуйста, С++

Напишите программу, которая принимает в качестве аргументов при запуске имена n файлов. Программа должна соединить все n файлов в один.

По дате
По рейтингу
Аватар пользователя
Высший разум
12345678910111213141516171819202122232425262728293031
 
#include <fstream> 
#include <iostream> 
 
int main(int argc, char* argv[]) { 
    if (argc < 3) { 
        std::cerr << "Usage: " << argv[0] << " <output_file> <input_file1> <input_file2> ..." << std::endl; 
        return 1; 
    } 
 
    std::ofstream outFile(argv[1], std::ios::binary); 
    if (!outFile) { 
        std::cerr << "Cannot open output file." << std::endl; 
        return 1; 
    } 
 
    for (int i = 2; i < argc; ++i) { 
        std::ifstream inFile(argv[i], std::ios::binary); 
        if (!inFile) { 
            std::cerr << "Cannot open input file: " << argv[i] << std::endl; 
            return 1; 
        } 
 
        outFile << inFile.rdbuf(); 
        inFile.close(); 
    } 
 
    outFile.close(); 
    return 0; 
} 
 

Эта программа объединяет содержимое файлов, указанных в аргументах командной строки, в один файл. Первым аргументом должно быть имя выходного файла, а последующими - имена входных файлов для объединения.