【发布时间】:2016-01-06 19:13:00
【问题描述】:
我有一个关于处理我正在阅读的文件中的某些名称或数字的代码的问题。所以文件中的文本如下所示:
Imp;1;down;67
Comp;3;up;4
Imp;42;right;87
如您所见,有 3 行单词和数字由字符 ';' 分隔.我想一次读取每一行,并将一行中的整个字符串拆分为 words 和 numbers ,然后处理信息(将用于使用数据创建一个新对象)。然后继续下一行,以此类推,直到 EOF。
所以,我想读取第一行文本,将其拆分为由该行中的单词和数字组成的字符串数组,然后从中创建一个类的对象。例如,对于第一行,创建一个 Imp 类的对象,如 Imp objImp(Imp, 1, down, 67)。
在 Java 中,我使用 information = line.split(";")'(其中 line 是一行文本)做了同样的事情,然后使用 information[0]、information[1] 访问字符串数组的成员并创建对象。我正在尝试在这里做同样的事情
【问题讨论】:
-
看起来您的代码读取了一行,打印出来,然后重复,直到没有内容可读取。这符合你对我认为的事情的描述......所以有什么问题? 它不会在第一行之后停止,所以我可以插入我需要的代码——嗯,嗯?您根本没有很好地描述您的问题,并且您似乎没有添加任何代码来处理该行(
output)而不是打印它。 -
您正在使用
getline中的常量256引发崩溃。你应该在这里使用sizeof(output)。 -
@mah 我没有解释我想要做什么,让我再试一次。因此,我想读取第一行文本,将其拆分为由该行中的单词和数字组成的字符串数组,然后从中创建一个类的对象。例如,对于第一行,创建一个 Imp 类的对象,如
Imp objImp(Imp, 1, down, 67)。在 Java 中,我使用 'information = line.split(";")' (其中 line 是一行文本)做了同样的事情,然后使用 'information[0]', 'information[1]' 来访问字符串数组并创建对象。我正在尝试在这里做同样的事情 -
@Logicrat - 这只是为了测试,但感谢您的提醒