C++按行读取txt文件内容(具体请看代码)
代码:#include<iostream>#include<fstream>usingnamespacestd;chars[80];voidmain(){ifstream...
代码:
#include <iostream>#include <fstream>using namespace std;char s[80];void main(){ ifstream infile; infile.open("d:\abc\0.txt",ios::in); infile.getline(s,80); cout<<s<<endl; infile.close();}
输出是空行,我想将其中的每行读取出来存入一个变量,再对这个变量进行操作,不知怎么办
下面是0.txt中的内容: 展开
#include <iostream>#include <fstream>using namespace std;char s[80];void main(){ ifstream infile; infile.open("d:\abc\0.txt",ios::in); infile.getline(s,80); cout<<s<<endl; infile.close();}
输出是空行,我想将其中的每行读取出来存入一个变量,再对这个变量进行操作,不知怎么办
下面是0.txt中的内容: 展开
2个回答
展开全部
这是读取并显示的运行结果:
帮你改了一下程序,你试试吧,有问题再问:
#include <iostream>
#include <fstream>
using namespace std;
char s[80];
int main()
{
string a[100]; //采用 string 类型,存100行的文本,不要用数组
int i=0;
ifstream infile;
infile.open("d:\abc\0.txt",ios::in);
while(!infile.eof()) // 若未到文件结束一直循环
{
getline(infile, a[i], '\n');//读取一行,以换行符结束,存入 a[] 中
i++; //下一行
}
for(int ii=0;ii<i;ii++) // 显示读取的txt内容
{
cout<< a[ii] << endl;
}
infile.close();
}
追答
infile.open("d:\abc\0.txt",ios::in); //这里的路径指向是错误的,我刚才没注意,改成
infile.open("d:\\abc\\0.txt",ios::in); //这里的路径里面是双斜线
while(!infile.eof()) //这一句保持,不要改
满意请采纳,以后又问题,可以直接对我提问
展开全部
只读一行的话,代码本身无错。你的问题是,文件0.txt中可能第一行就是个回车符,所以读进来了空行。文件常常不只有一行,所以要反复读取,反复处理。这样试试:
void main(void){
char s[80];
ifstream infile;
infile.open("0.txt",ios::in);
while(!infile.eof()){//文件没有结束则继续读取.
infile.getline(s,80);
cout<<s<<endl;
}
infile.close();
}
void main(void){
char s[80];
ifstream infile;
infile.open("0.txt",ios::in);
while(!infile.eof()){//文件没有结束则继续读取.
infile.getline(s,80);
cout<<s<<endl;
}
infile.close();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询