这个初级读取文件的C++代码为什么出现这种情况?(基本的ifstream),判断文件是否被打开..
#include"iostream"#include"fstream"usingnamespacestd;intmain(){constintflesize=100;ch...
#include "iostream"
#include "fstream"
using namespace std;
int main()
{
const int flesize = 100;
char filename[flesize];
ifstream inFile;
cout << "输入你的文件名:";
cin.getline(filename,flesize);
if (!inFile.good())
//if (!inFile.is_open())
{
cout << "不能打开" << filename << "文件";
exit(EXIT_FAILURE);
}
else
{
cout << "文件被打开了";
}
return 0;
}
无论是if (!inFile.good())
还是if (!inFile.is_open())
都是输入文件后,没有任何表示就结束了
是什么原因呢?
vc2005编译 展开
#include "fstream"
using namespace std;
int main()
{
const int flesize = 100;
char filename[flesize];
ifstream inFile;
cout << "输入你的文件名:";
cin.getline(filename,flesize);
if (!inFile.good())
//if (!inFile.is_open())
{
cout << "不能打开" << filename << "文件";
exit(EXIT_FAILURE);
}
else
{
cout << "文件被打开了";
}
return 0;
}
无论是if (!inFile.good())
还是if (!inFile.is_open())
都是输入文件后,没有任何表示就结束了
是什么原因呢?
vc2005编译 展开
3个回答
展开全部
帮你改了改,gc++/BC++5.5都编译过的了.
原程序的主要问题是,根本还没有打开文件.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int filesize = 100;
char filename[filesize],str[filesize];
ifstream inFile;
cout << "输入你的文件名:";
cin>>filename;
inFile.open(filename);//打开文件
if (inFile.good()) //判断文件打开状态:成功or失败
{
cout << "文件被打开了";
inFile.getline(str,filesize);//打开文件测试:读取一行
cout<<endl<<str<<endl;//输出
}
else
{
cout << "不能打开" << filename << "文件";
}
return 0;
}
原程序的主要问题是,根本还没有打开文件.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int filesize = 100;
char filename[filesize],str[filesize];
ifstream inFile;
cout << "输入你的文件名:";
cin>>filename;
inFile.open(filename);//打开文件
if (inFile.good()) //判断文件打开状态:成功or失败
{
cout << "文件被打开了";
inFile.getline(str,filesize);//打开文件测试:读取一行
cout<<endl<<str<<endl;//输出
}
else
{
cout << "不能打开" << filename << "文件";
}
return 0;
}
展开全部
在RETTURN 0 前面加上一句
system("pause");
system("pause");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原因是成功或失败都是闪而过,你看不到要的结果。
最好的在Windows自带的DOS窗口中执行,你会看到你要的结果。
或者跟楼上说的一下,下一个指令让窗口暂停。
system("PAUSE");
最好的在Windows自带的DOS窗口中执行,你会看到你要的结果。
或者跟楼上说的一下,下一个指令让窗口暂停。
system("PAUSE");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询