我正在尝试编写一个使用 fgets() 从文件中读取一行的函数。读完这条线后,我想把这条线拆开,做成更小的字符串。根据行中的第一个单词,我读入的行可以包含 3-5 个较小的字符串,这些字符串由空格分隔。
示例: 行:删除苹果 12345 字符串 1:删除字符串 2:苹果字符串 3:12345
行:加番茄红叶串1:加串2:番茄串3:红串4:叶
从上面的例子中,如果第一个字符串被删除,我需要读取另外 2 个字符串(苹果,12345)。如果添加第一个字符串,我需要读取 3 个其他字符串(番茄、红色、叶子)。
无论如何,我可以决定阅读次数并使用 sscanf 执行此操作吗?
while( fgets( buf, sizeof buf, course_file ) != NULL ){
sscanf( buf, "%s", &string1);
printf( "%s\n", buf );
}
我使用 sscanf 不是强制性的,我愿意接受其他建议。