私は単語の束をスペースで区切ってファイルを持っています。私はn番目の単語を取得しようとしています。ファイル内のn番目の単語を返す
私はファイルの各文字をループしています。私はスペースになるとカウンターに1を加えて単語の数を数えます。カウンタの値がnに等しい場合(つまり、必要な単語にある場合)、現在の文字をchar配列に追加します。 nはintなので、sprintfを使ってcharに変換し、strncatを使って文字を単語に追加します。
は、ここでは、コードです:
int n;
int count = 1;
char word[100];
char converted_char[32];
while ((n = fgetc(file)) != EOF) {
if ((n) == ' ')
count++;
if ((count) == wordNumber)
{
sprintf(converted_char, "%d", n);
strncat(word, converted_char, 1);
}
}
printf("The word is: %s", word);
問題があり、単語はint型返されます。私は%sを%cに置き換えようとしましたが、これはエラーです。私は間違って何をしていますか?
同様に、これを行うためのより良い方法の提案には公開されています。
あまりにもわかりません。 – Mox