MFC写入文件,为什么TXT文件不显示
char*pszFileName="C:\\Users\\Administrator\\Desktop\\InformationSystem9\\student.txt"...
char* pszFileName="C:\\Users\\Administrator\\Desktop\\Information System9\\student.txt"; CStdioFile myFile; if(myFile.Open(pszFileName, CFile::modeWrite | CFile::typeText)) { myFile.SeekToEnd(); // 文件尾 myFile.WriteString("学生姓名:"); myFile.WriteString(sname); myFile.WriteString("\t"); myFile.Close(); MessageBox("保存成功!"); } sname是CString型的 student.TXT的路径名是我从属性中拷贝的C:\Users\Administrator\Desktop\Information System9程序运行不报错就是TXT文件不显示,求纠错!
展开
1个回答
展开全部
加上CFile::modeCreate,在这里CFile::modeCreate|CFile::modeWrite|CFile::modeText,确保文件不存在是也可以创建;
如果还是不行,可以对if语句加一个else看看,同样用MessageBox提示失败,看看是不是文件打开有问题;
也可能是文件路径需要管理员权限,你可以尝试在d:\\student.txt 保存试试。
更多追问追答
追问
我现在可以保存myFile.WriteString("学生姓名:");
这样的但是CString型的变量无法保存为什么
追答
myFile.WriteString(sname.GetBuffer(0));
CFile和子类都不支持CString的实例序列化,需要转换为字符串后写入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询