fgets() を使用してファイルから行を読み取る関数を作成しようとしています。行を読み取った後、行を分解して小さな文字列にしたいと思います。行の最初の単語に応じて、私が読み取った行には、空白で区切られた 3 ~ 5 個の小さな文字列が含まれている可能性があります。
例: 行: Apple 12345 を削除 string1: string2 を削除: Apple string3: 12345
行: トマトの赤い葉を追加 string1: string2 を追加: トマト string3: 赤い string4: 葉
上記の例から、最初の文字列が削除された場合、他の 2 つの文字列 (apple、12345) を読み取る必要があります。最初の文字列が追加の場合、他の 3 つの文字列 (トマト、赤、葉) を読み取る必要があります。
とにかく、sscanfを使用して読み取りとこれを行う回数を決定できる方法はありますか?
while( fgets( buf, sizeof buf, course_file ) != NULL ){
sscanf( buf, "%s", &string1);
printf( "%s\n", buf );
}
sscanf を使用することは必須ではありません。他の提案も受け付けています。