Как часть проекта шифрования, который я делаю для удовольствия, я хотел бы взять содержимое файла, будь то PDF, DOCX, JPEG, любой файл ASCII, поиграть с символы в цифровом виде, а затем отменить процесс в конце, чтобы дать файл исходного типа файла, который можно открыть и т. д., как обычно.C++ Точное копирование содержимого файла
Во-первых, по мере того, как я тестировал, я думал, что прочитаю содержимое файла .docx в строку, а затем напишу прямо в другой .docx-файл с другим именем. Однако, когда это будет сделано, Microsoft Word откажется открыть файл: «Файл поврежден и не может быть открыт».
Вот код, который я использовал, чтобы скопировать файл:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inputFile("C:\\Users\\MyUser\\Documents\\This is a test.docx", ios::in | ios::binary);
inputFile.seekg(0, ios::end);
int length = inputFile.tellg();
inputFile.seekg(0, ios::beg);
string fileContents;
fileContents.resize(length);
inputFile.read(&fileContents[0], length);
inputFile.close();
ofstream outputFile("C:\\Users\\MyUser\\Documents\\TestCopy.docx", ios::app);
outputFile.write(&fileContents[0], length);
outputFile.close();
cout << "Complete.";
int n;
cin >> n; //Keeps the program open so message can be read.
}
В чем проблема и как программа будет отредактирована, чтобы дать правильный файл?
Приветствия заранее.
Duh, спасибо, сейчас он работает. – user1546083