辞書ファイルを 1 行ずつ読み取り、各行を取得して文字列と比較しています。私の問題は、空白を削除するためにすべての行に文字列の長さを動的に割り当てる方法がわからないことです。私のコードを見てから、これについて説明します。
FILE *f;
f = fopen("/usr/share/dict/words", "r");
if (f != NULL)
{
// maximum size of line, keep it at 128 just in case
char line[128] = "";
// run through every line of file
while (fgets(line, sizeof(line), f))
{
if (strcmp("hello", line) == 0)
printf("The string is %s!", line);
}
}
したがって、「行」変数を初期化して、任意の行の最大長を取る必要があります。行がその値の 128 よりも小さい場合、末尾に空白が追加され、無効な比較が行われるだけです。これを変更するにはどうすればよいですか?