100分求问MFC如何读写.txt文件 最好给个例子,越详细越好

load111 2005-04-28 09:53:37
各位高人:



MFC如何读写.txt文件 最好给个例子,越详细越好

我看了msdn 上好象有个CStdioFile类 可不懂怎么用,还有涉及到读取.txt文件的路径等问题 请各位指教
...全文
3707 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
load111 2005-04-28
  • 打赏
  • 举报
回复
ok
handwolf 2005-04-28
  • 打赏
  • 举报
回复
我很少上QQ的,我们还是在csdn上联系吧,你也可以在csdn上给我发消息。
点击我的名字就会出现发送消息的界面!
load111 2005-04-28
  • 打赏
  • 举报
回复
最后再提个非分要求 handwolf(青松崖) 老大 能不能加你QQ 小弟拜你为师学习学习啊 我的QQ:81646856
load111 2005-04-28
  • 打赏
  • 举报
回复
非常感谢各位热心人的指教,特别感谢 handwolf(青松崖) 老大的孜孜不倦的指点,散分
handwolf 2005-04-28
  • 打赏
  • 举报
回复
CFile file;
char buffer[1024];
if(!file.Open("c:\\aaa.txt",CFile::modeRead))return; //打开aaa这个文件,打开形式为读取
int iGetNum = file.Read(buffer,strlen(buffer));
buffer[iGetNum]='\0';
AfxMessageBox(buffer);
file.Close();
handwolf 2005-04-28
  • 打赏
  • 举报
回复
CFile file;
char buffer[1024];
if(!file.Open("c:\\aaa.txt",CFile::modeRead))return; //打开aaa这个文件,打开形式为读取
int iGetNum = file.Read(buffer,strlen(buffer));
buffer[iGetNum]='\0';
AfxMessageBox(buffer);
file.Close();
syd1207 2005-04-28
  • 打赏
  • 举报
回复
来晚了...

表现的机会都被楼上的抢走了

唉~~~~

楼主给点分安慰安慰俺吧!...
load111 2005-04-28
  • 打赏
  • 举报
回复
再来个读文件的 谢谢各位热心人
xqk 2005-04-28
  • 打赏
  • 举报
回复
看样子都解决了呀
handwolf 2005-04-28
  • 打赏
  • 举报
回复
写文件的例子,这个代码已经可以用了,调试通过,执行也正确!
CFile file;
char buffer[1024] = "在此添加要写入文件的字符串!";
if(!file.Open("c:\\aaa.txt",CFile::modeCreate | CFile::modeWrite))return; //打开aaa这个文件,打开形式为(无此文件则新建)写入
file.Write(buffer,strlen(buffer));
file.Close();
load111 2005-04-28
  • 打赏
  • 举报
回复
上面的代码含中文空格,所以不能编译,将中文空格掉就可以
void CTest2Dlg::OnButton1()
{
// TODO: Add your control notification handler code here

CFileFind finder;
BOOL bWorking = finder.FindFile("\\1.txt");
if(bWorking){MessageBox("ok");}
else{MessageBox("fail");}


}


//恩人啊 老大 此贴因该得60分
luolovegui 2005-04-28
  • 打赏
  • 举报
回复
CFile file;
char buffer[1024] = "在此添加要写入文件的字符串!";
if(!file.Open("c:\\aaa.txt",CFile::modeCreate | CFile::modeWrite))return; //打开aaa这个文件,打开形式为(无此文件则新建)写入
file.Write(buffer,strlen(buffer));
file.Close();
handwolf 2005-04-28
  • 打赏
  • 举报
回复
CFile file;
char buffer[1024] = "在此添加要写入文件的字符串!";
if(!file.Open("c:\\aaa.txt",CFile::modeCreate | CFile::modeWrite))return; //打开aaa这个文件,打开形式为(无此文件则新建)写入
file.Write(buffer,strlen(buffer));
file.Close();
柯本 2005-04-28
  • 打赏
  • 举报
回复
上面的代码含中文空格,所以不能编译,将中文空格掉就可以
void CTest2Dlg::OnButton1()
{
// TODO: Add your control notification handler code here

CFileFind finder;
BOOL bWorking = finder.FindFile("\\1.txt");
if(bWorking){MessageBox("ok");}
else{MessageBox("fail");}


}
load111 2005-04-28
  • 打赏
  • 举报
回复
麻烦各位老大发的代码最好自己调试一下,我刚开始学习VC,很菜的
hjiaming 2005-04-28
  • 打赏
  • 举报
回复
CStdioFile fpTxtFile;

//只读方式打开文件
if( !fpTxtFile.Open( strTxtFileName, CFile::modeRead) )
{
MessageBox("打开文件错误,请检查文件名", "error",MB_OK | MB_ICONWARNING );
return FALSE;
}

CString strLine;

//循环读取行
while( fpTxtFile.ReadString(strLine) )
{
//处理行代码
}
fpTxtFile.Close();
load111 2005-04-28
  • 打赏
  • 举报
回复
//CFile写内容到文件
CFile file;
char buffer[1024] = "在此添加要写入文件的字符串!";
if(!file.Open("c:\\aaa.txt",CFile::Create | CFile::Write))return; //打开aaa这个文件,打开形式为(无此文件则新建)写入
file.Write(buffer,strlen(buffer));
file.Close();

//..............................这个例子怎么有错啊



--------------------Configuration: txt2 - Win32 Debug--------------------
Compiling...
txt2Dlg.cpp
D:\vc\txt2\txt2Dlg.cpp(178) : error C2039: 'Create' : is not a member of 'CFile'
d:\microsoft visual studio\vc98\mfc\include\afx.h(1202) : see declaration of 'CFile'
D:\vc\txt2\txt2Dlg.cpp(178) : error C2297: '|' : illegal, right operand has type 'void (__thiscall CFile::*)(const void *,unsigned int)'
Error executing cl.exe.

txt2.exe - 2 error(s), 0 warning(s)

xqk 2005-04-28
  • 打赏
  • 举报
回复
编译器不识别的字符,应该是你忘注释了,或者是你用了全角的空格吧
xqk 2005-04-28
  • 打赏
  • 举报
回复
MFC主要读写文件的类是CFile,而CStdioFile类是派生自CFile类的,主要增加了一个按行的方式读取/写入文件每行字符串的功能!别的地方没咋研究!

//CFile读取所有文件到缓冲区:
CFile file;
char buffer[1024];
if(!file.Open("c:\\aaa.txt",CFile::modeRead))return; //打开aaa这个文件,打开形式为读取
file.Read(buffer,1024); //将文件的内容从开始,读1024到缓冲区(如果想读取不同地方的数据则需要设置游标函数Seek,SeekToBegin,SeekToEnd..)
file.Close();

//CFile写内容到文件
CFile file;
char buffer[1024] = "在此添加要写入文件的字符串!";
if(!file.Open("c:\\aaa.txt",CFile::Create | CFile::Write))return; //打开aaa这个文件,打开形式为(无此文件则新建)写入
file.Write(buffer,strlen(buffer));
file.Close();

//CStdioFile类的例子:
CStdioFile file;
CString str; //StdioFile可以直接使用字符串类CString的类型
if(!file.Open("c:\\aaa.txt",CFile::modeRead))return; //打开aaa这个文件,打开形式为读取
file.ReadString(str); //读一行内容到str字符串,注意此时文件的游标将自动设置到下一行的开头位置,所以如果想读下一行还是用file.ReadString(str);
file.Close();

//写了这几个简单的例子应该能看懂吧?
load111 2005-04-28
  • 打赏
  • 举报
回复
看了下上面的文章 我做了一个按钮事件 如下 可为什么出错呢



void CTxt2Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
  CFileFind finder;
  BOOL bWorking = finder.FindFile("\\1.txt");
  if(bWorking){MessageBox("ok");}
else{MessageBox("fail");}
}


//error-----------------------------------------



--------------------Configuration: txt2 - Win32 Debug--------------------
Compiling...
txt2Dlg.cpp
D:\vc\txt2\txt2Dlg.cpp(176) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(176) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(176) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(176) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(177) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(177) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(177) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(177) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(178) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(178) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(178) : error C2018: unknown character '0xa1'
D:\vc\txt2\txt2Dlg.cpp(178) : error C2018: unknown character '0xa1'
Error executing cl.exe.

txt2.exe - 12 error(s), 0 warning(s)

加载更多回复(2)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧