我有一个简单的文本文件,其中包含列的名字,姓氏和昵称......我试图从c ++程序中获取文件中每行的输入....然后出现问题......我遗漏了几行的填充列....这是一个示例表:
avinash kumar snu
akash aks
rohan ron
现在我使用c ++将列输入到人类对象的first,last和nick字段中.... 现在,当我输入第二行时,aks进入'last'字段,而第三行rohan进入'first'字段,ron进入'last'字段....所以任何人都可以建议一种方式我可以解决这个问题......如果它无法修复,我至少可以知道实际输入了多少列(表示列数)?
答案 0 :(得分:1)
正如Brian和Andrejs所评论的那样,你必须逐行解析文件。假设总有至少一个名字而且从不超过三个,那么你就有7个可能性(0个没有名字的地方):
A B C,
A B 0, A 0 C, 0 B C,
A 0 0, 0 B 0, 0 0 C
解析该行并将名称保存在临时变量中。同时保存行内每个名称的起始位置。如果您的名称少于3个,则可以根据行的最大长度在逻辑上确定缺少哪些名称。希望这是有道理的,它不是非常优雅的解决方案:)