我正在嘗試使用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