繁体   English   中英

读取文件,但跳过一个字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM