文字列の使い方を学び始めましたが、概念全体について少し混乱しています。文字列を含むファイルから単語ごとに読み取ろうとしています。
ファイルは次のとおりです。
Row, row, row your boat,
Gently down the stream.
Merrily, merrily, merrily, merrily,
Life is but a dream.
私のアプローチは使用することでした
char hold[25];
// Statement
while(fscanf(fpRow, "%s", hold) != EOF)
printf("%s %d\n", hold, strlen(hold));
したがって、私の仕事は、各文字列を読み取り、すべてを除外することです。ファイルで。これを行うには、%s の代わりに %[^,.] を使用する方法が正しいでしょうか? しかし、私がこのアプローチを試みたとき、私の文字列はファイルの最初の単語を読みたいだけで、ループは決して終了しません。誰かが私が間違っていることを説明できますか? さらに、fscanf と fgets の間の重要性は何ですか? ありがとう
while(fscanf(fpRow, "%24[^,.\n ]", hold) != EOF)
{
fscanf(fpRow, "%*c", hold);
printf("%s %d\n", hold, strlen(hold));
}