我有以下名为 asmfile.txt 的文件
copy start 1000
read ldx zero
rd indev
rloop tix k100
为了从此文件中获取逐行输入,我编写了以下代码....
void aviasm::crsymtab()
{
ifstream in(asmfile,ios::in);//opening the asmfile
in.seekg(0,ios::beg);
char c;
string str[3];
string subset;
long locctr=0;
int i=0;
while((c=in.get())!=EOF)
{
in.putback(c);
str[0]="";
str[1]="";
str[2]="";
while((c=in.get())!='\n')
{
in.putback(c);
in>>str[i];
i==2?i=0:i++; //limiting i to 2....
}
cout<<str[0]<<" "<<str[1]<<" "<<str[2]<<endl;
}
in.close();
}
//现在的问题是前三行已成功输入到str ...但最后一行没有输入到str ...我知道这一点,因为在控制台上运行程序时我看到...
copy start 1000
read ldx zero
rd indev
'rd indev' 缩进改变了,因为 str[0]="rd" 和 str[1]="indev".....请告诉我为什么第四行没有输入到 str....