- 论坛徽章:
- 0
|
程序写的比较简单,但是错误却发现不了
程序用于打开词法分析程序的文件,用于查看结果的.
但是,我用记事本打开和VC打开,里面的内容都和预想的一样,
但用这个程序却不行,
它只显示了一小部分,没有全部显示,
文件中有多于30个的记录,可是它只显示到27就结束了
- #include <iostream>;
- #include <fstream>;
- using namespace std;
- struct signtable{ //定义符号表文件的结构
- int serialno; //序号
- int type; //类型号
- char name[30] ; //名字
- }signs;
- struct wordsn{ //单词序列文件结构
- int label; //单词序号
- char name[30]; //名字
- int code; //单词的类型码
- int addr; //单词地址
- }words;
- void main()
- {ifstream word; //单词序列表文件
- ifstream sym; //单词表文件
- int i=0;
- word.open("wordsnfile.txt",ios::in); //单词序列文件
- sym.open("symtablefile.txt",ios::in);//
- cout<<"words\n";
- while(!word.eof())
- {word.read((char *)&words,sizeof(words));
- if(!word.eof())
- cout<<words.name<<" "<<words.addr<<" "<<words.code<<" "<<words.label<<endl;
- i++;}
- cout<<i;
- cout<<"symbal\n";
- i=0;
- while(!sym.eof())
- {sym.read((char*)&signs,sizeof(signs));
- if(!sym.eof())
- cout<<signs.name<<" "<<signs.serialno<<" "<<signs.type <<endl;
- i++;}
- cout<<i;
- }
复制代码 |
|