c++ io 库将文件内容读入到vector对象
题目要求是这样的!将文件内容读入string类型的vector容器,每一行存储为该容器对象的一个元素。#include<iostream>#include<string>...
题目要求是这样的!将文件内容读入string类型的vector容器,每一行存储为该容器对象的一个元素。
#include<iostream>
#include<string>
#include<vector>
#include<fstream>
int filetovector(string filename,vector<string> &string_text)
{
//创建fstream对象绑定到由形参filename指定的文件中去
fstream input(filename.c-str());
if(!input) //打开文件失败
return 1;
string s;
while(getline(input,s)
string_text.push_back(s);
input.close(); //关闭文件
if(input.eof())
return 4;
if(input.bad())
return 3;
if(input.fail())
input 2;
}
using namespace std;
int main()
{
vector<string> string_text;
string filename,s;
cout<<"Enter file name(ctrl+z to end): "<<endl;
cin>>filename;
//处理文件
switch(filetovector(filename,string_text)
{
case 1:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 2:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 3:
cout<<"error:can not open file: \t"<<endl;
return -1;
}
vector<string>::iterator iter=string_text.begin();
while(iter!=string_text.end())
{
cout<<*iter<<endl;
++iter;
}
return 0;
}
程序是这样的,定义一个容器对象,再声明用于输入的文件名和输入内容为strig类型,提示用户输入同文件夹下的文件名,输入,调用函数,将实参传递给形参进行处理,创建一个fstring 流对象input绑定至文件名,当打开文件失败,结束,当成功打开,将流对象里面的内容存储至字面符类型对象s,再将s复制到容器里面,当文件遇到结束符,系统故障,输入错误就返回float至实参。这里什么意思啊,case 1: ??文件里面有1 2 3就为假。如果 我说错了请纠正,一定要细节分析到位,
在线等。
将每一行存储为该容器对象的一个元素,以及将每个单词存储为容器的一个元素:
while(input>>s)
while(getline(ipnut,s)为什么我写在程序里面没差别?
我输入一个文件名text.cpp,里面的元素是1stringshif 2kdsh sd3kjfh kd4shf kds
输出的是一行1stringshif 2kdsh sd3kjfh kd4shf kds,求速回答 展开
#include<iostream>
#include<string>
#include<vector>
#include<fstream>
int filetovector(string filename,vector<string> &string_text)
{
//创建fstream对象绑定到由形参filename指定的文件中去
fstream input(filename.c-str());
if(!input) //打开文件失败
return 1;
string s;
while(getline(input,s)
string_text.push_back(s);
input.close(); //关闭文件
if(input.eof())
return 4;
if(input.bad())
return 3;
if(input.fail())
input 2;
}
using namespace std;
int main()
{
vector<string> string_text;
string filename,s;
cout<<"Enter file name(ctrl+z to end): "<<endl;
cin>>filename;
//处理文件
switch(filetovector(filename,string_text)
{
case 1:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 2:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 3:
cout<<"error:can not open file: \t"<<endl;
return -1;
}
vector<string>::iterator iter=string_text.begin();
while(iter!=string_text.end())
{
cout<<*iter<<endl;
++iter;
}
return 0;
}
程序是这样的,定义一个容器对象,再声明用于输入的文件名和输入内容为strig类型,提示用户输入同文件夹下的文件名,输入,调用函数,将实参传递给形参进行处理,创建一个fstring 流对象input绑定至文件名,当打开文件失败,结束,当成功打开,将流对象里面的内容存储至字面符类型对象s,再将s复制到容器里面,当文件遇到结束符,系统故障,输入错误就返回float至实参。这里什么意思啊,case 1: ??文件里面有1 2 3就为假。如果 我说错了请纠正,一定要细节分析到位,
在线等。
将每一行存储为该容器对象的一个元素,以及将每个单词存储为容器的一个元素:
while(input>>s)
while(getline(ipnut,s)为什么我写在程序里面没差别?
我输入一个文件名text.cpp,里面的元素是1stringshif 2kdsh sd3kjfh kd4shf kds
输出的是一行1stringshif 2kdsh sd3kjfh kd4shf kds,求速回答 展开
展开全部
#include<iostream>
#include<string>
#include<vector>
#include<fstream>
#include<stdio.h>
using namespace std;
int filetovector(string filename,vector<string> &string_text)
{
//创建fstream对象绑定到由形参filename指定的文件中去
fstream input(filename.c_str());
if(!input) //打开文件失败
return 1;
char s[500];
while(input.getline(s,500))
string_text.push_back(s);
input.close(); //关闭文件
if(input.eof())
return 4;
if(input.bad())
return 3;
if(input.fail())
return 2;
}
int main()
{
vector<string> string_text;
string filename;
string s;
cout<<"Enter file name(ctrl+z to end): "<<endl;
cin >> filename;
switch(filetovector(filename,string_text))
{
case 1:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 2:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 3:
cout<<"error:can not open file: \t"<<endl;
return -1;
}
vector<string>::iterator iter=string_text.begin();
while(iter!=string_text.end())
{
cout<<*iter<<endl;
++iter;
}
return 0;
}
#include<string>
#include<vector>
#include<fstream>
#include<stdio.h>
using namespace std;
int filetovector(string filename,vector<string> &string_text)
{
//创建fstream对象绑定到由形参filename指定的文件中去
fstream input(filename.c_str());
if(!input) //打开文件失败
return 1;
char s[500];
while(input.getline(s,500))
string_text.push_back(s);
input.close(); //关闭文件
if(input.eof())
return 4;
if(input.bad())
return 3;
if(input.fail())
return 2;
}
int main()
{
vector<string> string_text;
string filename;
string s;
cout<<"Enter file name(ctrl+z to end): "<<endl;
cin >> filename;
switch(filetovector(filename,string_text))
{
case 1:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 2:
cout<<"error:can not open file: \t"<<endl;
return -1;
case 3:
cout<<"error:can not open file: \t"<<endl;
return -1;
}
vector<string>::iterator iter=string_text.begin();
while(iter!=string_text.end())
{
cout<<*iter<<endl;
++iter;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询