关于CFile类的一个问题!急!

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:26:12
我用CFile类读取文件遇到了问题!代码如下:

void CMyDlg::WriteTest ()
{
CString filename;
filename = GetAppDir();
filename += "/a.txt";
int i[5] = {1 , 2 , 3 , 4 , 5};
CFile file;
file.Open (filename , CFile::modeReadWrite | CFile::modeCreate);
file.Write (i , 5);
file.Close ();
}

void CMyDlg::ReadTest ()
{
CString filename;
filename = GetAppDir();
filename += "/a.txt";
CFile file;
file.Open (filename , CFile::modeReadWrite);
file.Read (result , 5);
file.Close ();
}

我先向a.txt中写入数据{1,2,3,4,5},为什么用Read函数读取以后却变成了如图的这个样子啊?第一个数据是对的,可是后面4个怎么那么大啊?
声明是int result[5];

CFile的成员函数read\write读写都是二进制的。
你的read\write用法问题太多了。
write(i,sizeof(int)*5)还对点。
第二个参数是字节数,int就4个字节,你写一个多数是什么意思?
读也是。

"\\a.txt"; 试试,不行再说

没看到你result的声明啊
int result[5]还是char result[5]?

char i[6] = "12345"
char result[6];
file.Read(result, 5);
应该没问题