关于《Visual C++文件处理的问题》
发表在C语言图书答疑 2012-10-06
是否精华
版块置顶:
[strong][font color=#0000FF]以下一段代码是《视频学Viual C++》5.5章里的一个Exam。原程序是没有加名字空间的。但是我发现当我加了名字空间以后,程序执行到一半就结束了。本人就一菜鸟,求解惑![/font]

[font color=#FF0000]文件处理代码(原程序不带名字空间):[/font]
#include "iostream.h"
#include "fstream.h"
#include "iomanip"
int main()
{
fstream infile;
fstream outfile;
char name[20];
char str[30];
cout<<"请输入文件:"<<"\n";
cin>>name;
outfile.open(name,ios::out | ios::trunc);
if(!outfile)
{
cout<<"写文件打开失败!";
exit(1);
}
cout<<"请输入要写入文件的数据:"<<"\n";
cin>>str;
outfile<<str;
outfile.close();
infile.open(name,ios::in);
if(!infile)
{
cout<<"读文件打开失败!";
exit(1);
}
char c;
cout<<"输出文件中数据:"<<"\n";
while(infile.get(c))
{
cout<<c;
}
cout<<"\n";
infile.close();
outfile.open(name,ios::out | ios::app);
if(!outfile)
{
cout<<"写文件打开失败!";
exit(1);
}
cout<<"输入要在文件末尾添加数据:"<<"\n";
cin>>str;
outfile<<str;
outfile.close();

infile.open(name,ios::in);
if(!infile)
{
cout<<"读文件打开失败!";
exit(1);
}
cout<<"输出文件中数据:"<<"\n";
while(infile.get(c))
{
cout<<c;
}
cout<<"\n";
infile.close();

return 0;
}

[font color=#FF0000]文件处理代码(本人写的带名字空间):[/font]
#include <iostream>
#include <iomanip>
#include <fstream>


using namespace std;

void OperateFile()
{
fstream outfile;
fstream infile;
char str[30];
char name[20];
cout << "请输入要打开的文件名," << endl;
cin >> name;
outfile.open(name,ios::out | ios::trunc);
if(!outfile)
{
cout << "写文件打开失败!" << endl;
exit(1);
}
cout << "请输入要写放文件的数据" <<endl;
cin >> str;
outfile << str;
outfile.close();
infile.open(name,ios::in);
if(!infile)
{
cout << "读文件打开失败!" <<endl;
exit(1);
}
char c;
while(infile.get(c))
{
cout << c;
}
cout << endl;
infile.close();

outfile.open(name,ios::out | ios::app);
if(!outfile)
{
cout << "写文件打开失败!" << endl;
exit(1);
}
cout << "请输入要在文件末尾添加的数据:" << endl;
cin >> str;
outfile << str;
outfile.close();
cout << "重新读取文件" <<endl;
infile.open(name,ios::in);      //执行至此处失败;
if(!infile)
{
cout << "读文件打开失败!" << endl;
exit(1);
}
while(infile.get(c))
{
cout << c;
}
cout << endl;
infile.close();

}

int main()
{
OperateFile();

return 0;
}
[/strong]
分享到:
精彩评论 3
C语言
学分:0 LV1
TA的每日心情
无聊
2021-11-12 22:00:04
2012-10-10
沙发
书中程序运行在VC6下,如果想运行在高版本VC中,您的修改时正确的。
使用调试方法,找一下错误的具体位置。
梦中梦
学分:0 LV1
TA的每日心情
伤心
2020-12-21 02:15:27
2012-10-11
板凳
[strong][font color=#0000FF][font size=6]你这个回答不是模棱两可嘛???根本没解决问题,编译没有错误,调试也找不到原因。。。
请给个实际解决的法子。感激不尽![/font][/font][/strong]
C语言
学分:0 LV1
TA的每日心情
无聊
2021-11-12 22:00:04
2012-10-12
地板
vc2010下运行没有错误,
vc2008下第二次读时出错。
是微软的一个bug,在vc2010中已经修复了
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照