C++ CFile写入一些垃圾值

C++ CFile写入一些垃圾值,c++,mfc,cfile,C++,Mfc,Cfile,我正在文件中写入一些数据,但写得不正确。 代码: 它将文件显示为 这可能是因为您不正确地使用了CFile。CFile::Write的第一个参数应该是一个缓冲区,您希望将其字节写入文件。然而,testarr更像一个“缓冲区的缓冲区”,因为testarr的每个元素都是一个字符串,而字符串本身就是一个字节序列 您需要做的是连接testarr的元素,然后调用CFile::Write。或者(可能更为实际),迭代testarr一次打印一个字符串,例如,对于您的特定示例,以下内容应满足您的要求: for(in

我正在文件中写入一些数据,但写得不正确。 代码:

它将文件显示为
这可能是因为您不正确地使用了
CFile
CFile::Write
的第一个参数应该是一个缓冲区,您希望将其字节写入文件。然而,
testarr
更像一个“缓冲区的缓冲区”,因为
testarr
的每个元素都是一个字符串,而字符串本身就是一个字节序列

您需要做的是连接
testarr
的元素,然后调用
CFile::Write
。或者(可能更为实际),迭代
testarr
一次打印一个字符串,例如,对于您的特定示例,以下内容应满足您的要求:

for(int i = 0; i < 10; ++i)
{
    gpFile.Write(testarr[i], strlen(testarr[i]));
}
for(int i=0;i<10;++i)
{
Write(testarr[i],strlen(testarr[i]);
}
可能有一些内置的方法来实现这一点,但我并不真正熟悉MFC,所以我不会在这方面提供太多帮助

for(int i = 0; i < 10; ++i)
{
    gpFile.Write(testarr[i], strlen(testarr[i]));
}