c++ MFC ifstream 问题
voidCMFCApplication1Dlg::OnBnClickedButton2(){//TODO:Addyourcontrolnotificationhandle...
void CMFCApplication1Dlg::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
CString s = TEXT("*********** C++ ***********");
char line[256];
ifstream ifs("book.txt");
while (ifs.getline(line, 256), line != NULL);
{
s += line;
s += TEXT("\r\n");
}
ifs.close();
SetDlgItemText(IDC_EDIT1, s);
}
运行不了 展开
{
// TODO: Add your control notification handler code here
CString s = TEXT("*********** C++ ***********");
char line[256];
ifstream ifs("book.txt");
while (ifs.getline(line, 256), line != NULL);
{
s += line;
s += TEXT("\r\n");
}
ifs.close();
SetDlgItemText(IDC_EDIT1, s);
}
运行不了 展开
2016-07-14 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
ifstream是只能输入文件的, 而要拷贝肯定又要读又要写的, 所以肯定不能只用ifstream. 当然ifstream如果真地想让它写文件, 也可以, 但是任何一个合格的程序员是不会这样干的, 这样写出的程序可读性极低.
综上所述, 要想实现拷贝文件最少使用两个类, 而其中一个必然是ifstream, 另一个就是ofstream.
因为是C++实现, 所以要用面向对象的思想去写代码, 代码如下:
#include <fstream>
using namespace std;
class CFile //此类与MFC的CFile类重名, 若要应用于MFC, 需要修改类名.
{
ofstream fout;
ifstream fin;
CFile(char *in, char *out):fout(out), fin(in){} //构造函数
~CFile(){} //析构函数不需要执行任何操作
bool Copy()
{
if (!fout || !fin) //若打开文件失败
return false; //返回假
char data; //用来传输数据的变量
while(!fin.eof()) //判断源文件是否到文件尾, 若是退出循环
{
fin.read(&data, 1); //读取数据
fout.write(&data, 1); //保存数据
}
return true; //拷贝成功, 返回真
}
}; //不要掉了分号
综上所述, 要想实现拷贝文件最少使用两个类, 而其中一个必然是ifstream, 另一个就是ofstream.
因为是C++实现, 所以要用面向对象的思想去写代码, 代码如下:
#include <fstream>
using namespace std;
class CFile //此类与MFC的CFile类重名, 若要应用于MFC, 需要修改类名.
{
ofstream fout;
ifstream fin;
CFile(char *in, char *out):fout(out), fin(in){} //构造函数
~CFile(){} //析构函数不需要执行任何操作
bool Copy()
{
if (!fout || !fin) //若打开文件失败
return false; //返回假
char data; //用来传输数据的变量
while(!fin.eof()) //判断源文件是否到文件尾, 若是退出循环
{
fin.read(&data, 1); //读取数据
fout.write(&data, 1); //保存数据
}
return true; //拷贝成功, 返回真
}
}; //不要掉了分号
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询