读书人

CFile:Read() 的有关问题

发布时间: 2012-01-21 21:31:43 作者: rapoo

CFile::Read() 的问题
char temp[30];
memset(temp,0,30);
int tt= Data_File.GetLength();
Data_File.Read(temp,tt);
temp[sizeof(char)*tt]= '\0 ';


我这样重二进制文件中读数据,为什么读不到。请问那里有问题?


[解决办法]
Data_File句柄是否有效
read返回是否成功?
[解决办法]
Data_File.SeekToBegin();
Data_File.Read(temp,tt);

[解决办法]
char temp[30];
memset(temp, 0, 30);

Data_File.open("路径", CFile::modeRead|CFile::typeBinary, NULL);

int tt= Data_File.GetLength(); //文件长度最好做个判断, 防止数组越界...
Data_File.Read(temp, tt);
temp[sizeof(char)*tt] = '\0';

[解决办法]
1.open()成功了没有?
2.文件是否为空..?
[解决办法]
是不是文件属性不对?SetFileAttributes(FileName,FILE_ATTRIBUTE_NORMAL);
可以读下别的文件看看能不能成功

读书人网 >VC/MFC

热点推荐