Я работаю над проектом, в котором мне нужно сначала преобразовать двоичный файл в массив символов, затем поменять регистр для каждой буквы, а затем добавить измененный массив в другой выходной файл. Однако, когда я читаю данные двоичного файла, он возвращает пустой массив, поэтому ничего не передается в функцию подкачки.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main( )
{
char *buf;
string str1 = "abababab";
int size1 = (str1.size());
ofstream output ("output.txt", ios::out | ios::binary);
output.write(reinterpret_cast<char *>(&size1), sizeof(int));
output.write(str1.c_str(), size1);
output.flush();
output.close();
return 0;
}
Моя проблема в том, что файл output.txt
содержит текстовые символы, такие как:
^H^@^@^@abababab
Это все еще бинарный файл на этом этапе, и если у меня есть программа, читающая будет ли каждый набор байтов выводить их правильно?