急!如何在mfc中向txt文件写入数据,用CFile!!
这是在原本win32中实现的功能,吧xyz写如一个txt文件,freopen("d://file.txt","a+",stdout);cout<<setw(6)<<p->...
这是在原本win32中实现的功能,吧xyz写如一个txt文件,
freopen("d://file.txt", "a+", stdout );
cout<<setw(6)<<p->x<<setw(6)<<p->y<<setw(6)<<p->z<<endl;
但是到了mfc中就不知道怎样用CFile做了,请高手帮忙。另外,还要不要定义什么,CFile是一个类,除了改代码之外,要不要有其他的操作呢? 展开
freopen("d://file.txt", "a+", stdout );
cout<<setw(6)<<p->x<<setw(6)<<p->y<<setw(6)<<p->z<<endl;
但是到了mfc中就不知道怎样用CFile做了,请高手帮忙。另外,还要不要定义什么,CFile是一个类,除了改代码之外,要不要有其他的操作呢? 展开
4个回答
展开全部
MFC中不需要加什么东西,直接使用CFile类;
CFile WriteFile;
WriteFile.Open("d:\\file.txt",CFile::modeWrite|CFile::modeRead|CFile::modeCreate);
char *WriteBuf="12345";
WriteFile.Write(WriteBuf,strlen(WriteBuf)+1);
delete WriteBuf;
放在一个Button控件试试吧。
CFile WriteFile;
WriteFile.Open("d:\\file.txt",CFile::modeWrite|CFile::modeRead|CFile::modeCreate);
char *WriteBuf="12345";
WriteFile.Write(WriteBuf,strlen(WriteBuf)+1);
delete WriteBuf;
放在一个Button控件试试吧。
更多追问追答
追问
有一个这样的错误
e:\desktop\pointmfc\pointmfc\pointmfcdlg.cpp(179) : error C2664: “CFile::Open”: 不能将参数 1 从“const char [12]”转换为“LPCTSTR”
是在这一行的:
WriteFile.Open("d:\\file.txt",CFile::modeWrite|CFile::modeRead|CFile::modeCreate);
这怎么改啊?谢谢了!!
追答
额,你用的是什么开发工具呢,我用VC6.0,都不会出错啊,你前面加个_T("d:\\file.txt"),或者LPCTSTR("d:\\file.txt")试试;
展开全部
char* pszFileName="F:\\myfile.txt";
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(pszFileName,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate),&fileException)
{
myFile.SeekToEnd();
myFile.WriteString(stime);
myFile.WriteString("\n");
myFile.SeekToEnd();
myFile.WriteString(str1);
myFile.WriteString("\n");
myFile.SeekToEnd();
myFile.WriteString(str2);
myFile.WriteString("\n");
myFile.SeekToEnd();
myFile.WriteString(str3);
myFile.WriteString("\n");
myFile.Close();
MessageBox("文件写入成功","提示");
}
else
{
TRACE("Can't open file %s,error=%u\n",pszFileName,fileException.m_cause);
}
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(pszFileName,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate),&fileException)
{
myFile.SeekToEnd();
myFile.WriteString(stime);
myFile.WriteString("\n");
myFile.SeekToEnd();
myFile.WriteString(str1);
myFile.WriteString("\n");
myFile.SeekToEnd();
myFile.WriteString(str2);
myFile.WriteString("\n");
myFile.SeekToEnd();
myFile.WriteString(str3);
myFile.WriteString("\n");
myFile.Close();
MessageBox("文件写入成功","提示");
}
else
{
TRACE("Can't open file %s,error=%u\n",pszFileName,fileException.m_cause);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在MFC调用输出函数的那个CPP文件中加入#include<iostream>
和using namespace std;就可以直接用你上面那两句话了。记得用fclose(stdout);关闭文件哦。
和using namespace std;就可以直接用你上面那两句话了。记得用fclose(stdout);关闭文件哦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把配置属性->常规里的字符集改成“使用多字节字符集”试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询