c++读取txt中一行数据赋给一个Cstring
“n1,s1,s2,s3,n2,l1,l2,l3,”"n2,s2,n3,n4,n5,l1,l2,l3,""n3,n4,n3,l1,l2,l3,"这样一行一行的数据,把他们...
“n1,s1,s2,s3,n2,l1,l2,l3,”
"n2,s2,n3,n4,n5,l1,l2,l3,"
"n3,n4,n3,l1,l2,l3,"
这样一行一行的数据,把他们分别赋给一个Cstring 展开
"n2,s2,n3,n4,n5,l1,l2,l3,"
"n3,n4,n3,l1,l2,l3,"
这样一行一行的数据,把他们分别赋给一个Cstring 展开
2个回答
展开全部
//用标准库string实唤液现
//建立一神激个vector<string>容器,每个string是一行
#include<fstream>
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
string filename;
vector<string> lines; //容器
string str;
cin>>filename;
ifstream file(filename.c_str()); //文件输入流
while(getline(file,str)){ //和瞎物读取一行,放入str
lines.push_back(str); //将str的副本加到lines末尾
}
}
//建立一神激个vector<string>容器,每个string是一行
#include<fstream>
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
string filename;
vector<string> lines; //容器
string str;
cin>>filename;
ifstream file(filename.c_str()); //文件输入流
while(getline(file,str)){ //和瞎物读取一行,放入str
lines.push_back(str); //将str的副本加到lines末尾
}
}
追问
能用fscanf做吗?或者ReadString做吗?回答能详细点吗?
追答
//用fscanf可以,readstring我不会
//建议用标准c++,不易出错,少用c语言
#include
const int lines_max=30;
const int string_max=30;
int main()
{
FILE* fp;
char lines[lines_max][string_max];
char fname[30];
scanf("%s",fname);
fp=fopen(fname,"r");
if(fp==NULL)
printf("The file was not opened\n");
else{
int line_no=0;
while(fscanf(fp,"%s",lines[line_no])!=EOF)
++line_no;
int i=0;
while(i<line_no){
printf("%s\n",lines[i]);
++i;
}
}
fclose(fp);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询