我有一个简单的文本文件,其中包含名字、姓氏和昵称列……我试图在 C++ 程序中从文件中的每一行获取输入……然后出现了一个问题……我遗漏了几行的填充列....这是一个示例表:
avinash kumar snu
akash aks
rohan ron
现在我正在使用 C++ 将列输入到人员类对象的第一个、最后一个和昵称字段中.... 现在,当我输入第二行时,aks 进入“最后”字段,第三行 rohan 进入“第一”字段,而 ron 进入“最后”字段……所以任何人都可以建议我可以使用的方法解决这个问题......如果无法解决,我至少可以知道实际输入了多少列(表示列数)吗?
最佳答案
正如 Brian 和 Andrejs 所说,您必须逐行解析文件。假设始终至少有一个名字且不超过三个,那么您有 7 种可能性(0 表示没有名字):
A B C,
A B 0, 一个0摄氏度, 0 BC,
0 0, 0 乙 0, 0 0 C
解析该行并将名称保存在临时变量中。还要保存行内每个名称的起始位置。如果您得到的名字少于 3 个,您可以根据一行的最大长度从逻辑上确定缺少哪些名字。希望这是有道理的,这不是一个非常优雅的解决方案:)
关于c++ - 文件处理(从文件输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474337/