我正在尝试使用fgets()从一个文件中读取一行。 读完这一行之后,我想把这条线分开,并将它制成较小的字符串。 根据行中的第一个单词,我读入的行可以有3-5个由空格分隔的较小字符串。正在扫描字符串字符串
实施例: 行:除去苹果12345 字符串1:除去 字符串2:苹果 STRING3:12345
行:加番茄红叶 字符串1:添加 字符串2:番茄 STRING3:红色 串,4:叶
从上面的例子中,如果第一字符串是删除,我需要阅读其他2个字符串(苹果,12345)。 如果第一个字符串是加,我需要读其他3个字符串(番茄,红色,叶)。
反正是有,我可以决定的次数阅读并做到这一点使用sscanf的?
while(fgets(buf, sizeof buf, course_file) != NULL){
sscanf(buf, "%s", &string1);
printf("%s\n", buf);
}
这不是强制性的,我使用sscanf,我愿意接受其他建议。
我不清楚你的意思通过“决定阅读的次数”。 – CrazyCasta
对不起。让我们来做一个精确的例子。如果第一个单词是删除,我需要创建3个令牌(删除,苹果,12345),如果第一个单词是添加,我需要创建4个令牌(添加,番茄,红色,叶)。 – rlhh