[英]I am reading file but while reading,it is reading last character one time extra?
[英]File reading but skips one character
我正在尝试通过程序读取文件。 除了一件事情,我已经完成了所有大多数事情,这就是为什么我的程序跳过文件的第一个字符。 我在这里粘贴选定的代码。
ifstream inFile;
char inFileName[] = "inFile.txt";
inFile.open(inFileName, ios::in);
char name[20], salary[20];
char c;
while((c = inFile.get()) != EOF){
inFile >> name >> salary;
}
档案中的第一个字是,
Aamir
但是我的程序打印
amir
请指导我解决这个问题。 我也想知道一件事,我可以在while循环中赋予什么其他条件?
谢谢
此块完全符合您要避免的内容:
while((c = inFile.get()) != EOF){
inFile >> name >> salary;
}
很明显,您读了一个字符,然后阅读了其余字符。 您丢掉第一个字符。 别那样做。 而是说while (inFile >> name >> salary) {...}
。
inFile.get()将读取一个字符,随后的inFile将读取下一个字符。
您确实编写了这段代码
while((c = inFile.get()) != EOF){
inFile >> name >> salary;
}
我们可以很容易地看到您正在阅读第一个字符
while((c = inFile.get()) != EOF)
之后,您将阅读此处的其余内容
{
inFile >> name >> salary;
}
另外,我的建议是您应该while循环来读取包括第一个字符在内的整个文件
while(inFile >> name >> salary){
//All stuff here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.