c++如何一行一行读取文件 50
学校要求编写词法分析器,然后代码如下,不知道为什么只能读第一行,后面的读不了。希望高手帮助一下intmain(){ifstreamfin;//输入文件fin.open("...
学校要求编写词法分析器,然后代码如下,不知道为什么只能读第一行,后面的读不了。希望高手帮助一下
int main()
{
ifstream fin;//输入文件
fin.open("in.txt");
fout.open("out.txt");
fout<<"<?xml version=\"1.0\"?>"<<endl;
fout<<"<root>"<<endl;
string si;
if(fin)
{
int i=0,j=0,ch=0;
while (!fin.eof())
{
getline(fin,si);
j++;
int l=si.length();
while (i<l)
{
ch=1;
judge(si,i,j,ch);
i=i+ch;
}
}
fout<<"</root>"<<endl;
fin.close();
fout.close();
return 0;
}
}
//其中judge(si,i,j,ch)是自己定义的一个读的函数 展开
int main()
{
ifstream fin;//输入文件
fin.open("in.txt");
fout.open("out.txt");
fout<<"<?xml version=\"1.0\"?>"<<endl;
fout<<"<root>"<<endl;
string si;
if(fin)
{
int i=0,j=0,ch=0;
while (!fin.eof())
{
getline(fin,si);
j++;
int l=si.length();
while (i<l)
{
ch=1;
judge(si,i,j,ch);
i=i+ch;
}
}
fout<<"</root>"<<endl;
fin.close();
fout.close();
return 0;
}
}
//其中judge(si,i,j,ch)是自己定义的一个读的函数 展开
3个回答
推荐于2016-05-16 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
//在工程下面建立一个文件 xiaojiba.txt
#include <iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
cout<<"input the filename:"<<endl;
string filename;
cin>>filename;
ifstream infile(filename.c_str());
string temp;
while(getline(infile,temp))
{
cout<<temp<<endl;
}
cout << "Hello world!" << endl;
return 0;
}
展开全部
没有仔细看 大概扫了下 楼主 while (i<l)
{
ch=1;
judge(si,i,j,ch);
i=i+ch;
}
你while中的i 都会继承上次的值 问题是不是这个啊
另外楼主 你命名注意啊 有点乱
{
ch=1;
judge(si,i,j,ch);
i=i+ch;
}
你while中的i 都会继承上次的值 问题是不是这个啊
另外楼主 你命名注意啊 有点乱
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询