请教一个利用线程读写文件的简单问题
else if(str1.SubString(1,4)== "00XX " && str1.SubString(nBytesRead-4,nBytesRead-3)== "AA00 ")
{
Char *buffer;
str=str1.SubString(5,nBytesRead-10);
buffer=str.c_str();
BS=str.Length();
fw=fopen(filename.c_str(), "ab+ ");
fwrite(buffer,sizeof(char),strlen(buffer),fw);
String Temp= "asuccess ";
Char *SendData;
SendData=Temp.c_str();
BS=Temp.Length();
WriteFile(vComm,SendData,BS,&lrc,NULL);
str= " ";
}
源程序如上(接收线程部分)str1是接收到的字符串,filename是文件名。我对str1去掉头尾校验,将中间部分写入文件,写完后再发送成功信息。我现在收到的str1=“00000004 毛泽东思想概论 罗正楷 武汉大学出版社1999年版”,但是发现运行后正常(没报错),但是filename=“abc.txt”文件是空,没有写入,我该怎么改呢?
[解决办法]
写完后关闭文件句柄
[解决办法]
没关闭文件 把软件结素 在刷新看看 就有了