渝黔高铁最新进展:关于VC文件写入的问题
来源:百度文库 编辑:查人人中国名人网 时间:2024/10/02 18:51:42
//取当前时间为文件名, 以使随时保存, 下面一段放入按钮事件中
CString sFileName;
CTime t = CTime::GetCurrentTime();
CString sTmp;
sTmp.Format("%d-%d-%d %d-%d-%d",
t.GetYear(),t.GetMonth(),t.GetDay(),t.GetHour(),t.GetMinute(),t.GetSecond());
sFileName = sTmp+".txt";
//保存文件
CFile f;
CFileFind ff;
CString sFile =sFileName ;
if(!ff.FindFile(sFile, 0))
{
f.Open(sFile.GetBuffer(1),CFile::modeCreate,NULL);
f.Close();
}
f.Open(sFile.GetBuffer(1),CFile::modeReadWrite);
CString sText;//文本框内容
GetDlgItem(IDC_TEXT1)->GetWindowText(sText);
//写入数据
f.Write((void*)sText.GetBuffer(1), sText.GetLength());
f.Close();
ff.Close();
好长丫,我翻书去
貌似用output命令
不过先要open文件,麻烦
在VC++ Doc-View 程序结构中,有
做标准的读写工作函数Serialize():
void CMyprogDoc::Serialize(CArchive& ar){
CFile *arFile;
if (ar.IsStoring())
{
// TODO: 补入输出语句
}else
{
// TODO: 补入输入语句
};
//或取得文件名和路径名自己fopen,fprintf也可以:
arFile= ar.GetFile(); // 文件名
arFPath = arFile->GetFilePath(); //路径名
..}
楼上可能不对,要求输出到文本文件。
如果对话框里面文本框和按钮的ID位IDC_CONTENT, IDC_SAVE,那么IDC_SAVE的响应函数可以这么写:
CString content;
GetDlgItem(IDC_CONTENT)->GetWindowText(content);
FILE *fp = NULL;
fp = fopen("C:\\a.txt", "w");
if(NULL == fp)
{
MessageBox("Can't create output file!");
return;
}
fwrite(content, strlen(content), 1, fp);
fclose(fp);