MFC中写入文件

2024-11-21 21:21:12
推荐回答(5个)
回答1:

可以使用传统的pascal操作文件的方法或者使用文件流。
1、传统文件操作方法
assignfile(f,'c:\test');
rewrite(f);
用blockwrite或write写入二进制信息;
closefile(f);
2、文件流
try
f:=tfilestream.create(filename,fmcreate
or
fmopenwrite);
文件操作,写入数据
finally
f.free;
end;

回答2:

char* pFileName = "test.dat";
CStdioFile f1;
f1.Open( pFileName, CFile::modeCreate
| CFile::modeWrite | CFile::typeText ) )
加上modeCreate

回答3:

参考代码如下:
BOOL CnewoneDlg::OutputBase(void)
{
// 1 组合到总字符串strSum中
CString strSum = _T(""), strTmp;

for(int i=0; i<50; i++)
{
strTmp.Format(_T("\r\n\r\n%d."), i);

strSum += strTmp;
strSum += _T("\r\n Sex: ") + A[i].Sex;

// 2 写入文件
CFile cf;
if(!cf.Open(_T("D:\\TXL.TXT"), CFile::modeCreate|CFile::modeWrite))
{
AfxMessageBox(_T("D:\\TXL.TXT \r\n Open failed when write."));
return FALSE;
}

int len = strSum.GetLength()
cf.Write(strSum.GetBuffer(len), len);
cf.Close();

strSum.ReleaseBuffer();

return TRUE;
}

void CnewoneDlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
OutputBase();
EndDialog(1);
}

回答4:

文件没有创建怎么能读呢?你要先创建文件,然后再进行读写操作。这样运行时就不会错误了

参考:谭浩强 《C语言程序设计教程》第十二章

回答5:

用c++的fstream流,进行文件处理可能会好些,MFC也就是对这些的封装。
ofstream out(filname);
out<out.close();
有时候,自己写这些比MFC的直观些。