主题:C++文件流问题:如题
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
//函数fileToVector打开文件用于输入
int fileToVector(string fileName,vector<string>& svec)
{
//创建ifstream对象inFile并绑定到由形参fileName指定的文件夹
ifstream inFile(fileName.c_str());
if(!inFile)//打开文件夹失败
return 1;
//将文件内容读入到string类型的vector容器
//每一行存储为该容器的一个元素
string s;
while(getline(inFile,s))
svec.push_back(s);
inFile.close();//关闭文件夹
if(inFile.eof())//遇到文件结束符
return 4;
if(inFile.bad())//发生系统故障
return 2;
if(inFile.fail())//读入数据失败
return 3;
}
int main()
{
vector<string> svec;
string fileName,s;
//读入文件名
cout<<"Enter filename:"<<endl;
cin>>fileName;
//处理文件
switch(fileToVector(fileName,svec))
{
case 1:
cout<<"error:can not open file:"<<fileName<<endl;
return -1;
case 2:
cout<<"error:system failure"<<endl;
return -1;
case 3:
cout<<"error:read failure "<<endl;
return -1;
}
//输出vector对象进行检查
cout<<"vector:"<<endl;
for(vector<string>::iterator iter=svec.begin();iter!=svec.end();++iter)
cout<<*iter<<endl;
return 0;
};
这个代码是编译通过的、但是运行时无论输入什么文件名都提示打开错误。求高手讲解啊!这文件流绑定的文件有什么要求吗?还是哪里出售吗问题了?
#include<fstream>
#include<string>
#include<vector>
using namespace std;
//函数fileToVector打开文件用于输入
int fileToVector(string fileName,vector<string>& svec)
{
//创建ifstream对象inFile并绑定到由形参fileName指定的文件夹
ifstream inFile(fileName.c_str());
if(!inFile)//打开文件夹失败
return 1;
//将文件内容读入到string类型的vector容器
//每一行存储为该容器的一个元素
string s;
while(getline(inFile,s))
svec.push_back(s);
inFile.close();//关闭文件夹
if(inFile.eof())//遇到文件结束符
return 4;
if(inFile.bad())//发生系统故障
return 2;
if(inFile.fail())//读入数据失败
return 3;
}
int main()
{
vector<string> svec;
string fileName,s;
//读入文件名
cout<<"Enter filename:"<<endl;
cin>>fileName;
//处理文件
switch(fileToVector(fileName,svec))
{
case 1:
cout<<"error:can not open file:"<<fileName<<endl;
return -1;
case 2:
cout<<"error:system failure"<<endl;
return -1;
case 3:
cout<<"error:read failure "<<endl;
return -1;
}
//输出vector对象进行检查
cout<<"vector:"<<endl;
for(vector<string>::iterator iter=svec.begin();iter!=svec.end();++iter)
cout<<*iter<<endl;
return 0;
};
这个代码是编译通过的、但是运行时无论输入什么文件名都提示打开错误。求高手讲解啊!这文件流绑定的文件有什么要求吗?还是哪里出售吗问题了?