我必须将一些数据写入文本文件,并且在每个输出的末尾我必须附加一个NULL终止字符'\ 0'。目前这是我到目前为止所提出的。它适用于某些输入,但对于某些人来说,它有时会用垃圾值写入整个文本文件。我有更好的方法吗?在我的程序中,我必须编写一些数据,将其位置存储在文件中并将其用于某些操作。下一个写操作从address = address + 500;
开始long int address = get_address();
void write_to_file()
{
fstream pFILE ("my file.txt");
char * buffer = new char [500];
cin.getline(buffer,500);
pFILE.seekp(address);
pFILE << buffer;
pFILE.seekp(address + strlen(buffer));
pFILE << '\0';
address += 500;
}
答案 0 :(得分:1)
将'\ 0'写入文件:
fstream output_file("output_file.txt", ios::binary);
output_file.put('\0');
ios::binary
阻止编译器或操作系统翻译'\ 0'。