| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2833 人关注过本帖
标题:vs2010mfc 文件操作
只看楼主 加入收藏
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:10 
vs2010mfc 文件操作
void CfileView::OnFileWrite()
{
    // TODO: 在此添加命令处理程序代码
    CFile file(LPCTSTR("test.txt"),CFile::modeCreate|CFile::modeWrite);
    file.Write("hello",strlen("hello"));
    file.Close();

}

写了一个打开文件的函数,,,但程序运行后没有该文件,,,不知道为什么
搜索更多相关主题的帖子: hello file 
2015-03-11 10:55
天使梦魔
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 
CFile file(L"test.txt",CFile::modeCreate|CFile::modeWrite);
2015-03-11 11:28
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
不行呀,,,

低调的卓越.........
2015-03-11 12:11
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
ok了  请问这是为什么

低调的卓越.........
2015-03-11 12:13
天使梦魔
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 
LPCTSTR 不是必须的,vs08版本以上默认是宽字符。
加L宏仅仅是为了把cpp文本转换给核心编译器

也可以这样
CFile file(LPCTSTR(L"test.txt"),CFile::modeCreate|CFile::modeWrite);
2015-03-11 13:41
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
不加LPCTSTR编译器报错的

低调的卓越.........
2015-03-11 15:36
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
void Cfile2View::On32772()//read file
{
    // TODO: 在此添加命令处理程序代码
    CFile file(L"test.txt",CFile::modeRead);
    char*pBuf;
    DWORD length=file.GetLength();
    pBuf=new char[length+1];
    pBuf[length]=0;
    file.Read(pBuf,length);
    file.Close();
    MessageBox(LPCTSTR(pBuf));
}
这个文件读取上次写入的文字 ,,,消息框显示的是一堆乱码  ,, 怎么回事呀? 大神

低调的卓越.........
2015-03-11 15:54
天使梦魔
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 
说了字符集问题啊,你要不是改下vs设置吧,可以改成acsii的


void Cfile2View::On32772()//read file
     {
     // TODO: 在此添加命令处理程序代码
    CFile file(L"test.txt",CFile::modeRead);
     char*pBuf;
     DWORD length=file.GetLength();
     pBuf=new char[length+1];
     pBuf[length]=0;
     file.Read(pBuf,length);
     file.Close();
     int nLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, pBuf, -1, NULL, 0 );
     wchar_t* pResult = new wchar_t[nLen];
     MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, pBuf, -1, pResult, nLen );  

     MessageBox(pResult);
     }
2015-03-11 17:55
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
ok  多谢大神 ,,大神能不能给点学习MFC的方法与经验???万分感谢

低调的卓越.........
2015-03-11 21:53
天使梦魔
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 
这个问题和mfc没关系啊,mfc只是一个库,不要苛求追逐mfc了。
不过用一个库来入门到是不错,以前记得有vc知识库,现在不知道有没有了,那里很多代码技巧。
不过我是没看过,听口碑不错
2015-03-11 22:03
快速回复:vs2010mfc 文件操作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015980 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved