フォーラムを1か月以上ストーキングしています。しかし、私は1つの難しさに苦しんでいました。私は実際にここで答えを見つけることができませんでした(他の同様の解決法がありますが、それは私の解決しなかった)。C4477 - フォーマット文字列 '%s'には 'char *'型が必要ですが、可変引数1には 'int'型があります
私の巨大なコードブロックを以下に示す1は、
#define DATA_ROW 1 /*I have one data per line*/
int freqstring;
char objectstring;
char string[10];
FILE * file;
freqstring = 0;
while (fscanf_s(file, "%s", &objectstring, 8) == DATA_ROW)
{
string[freqstring] = objectstring;
freqstring = freqstring + 1;
}
for (freqstring = 0; freqstring < 10; freqstring = freqstring + 1)
{
printf("%s", string[freqstring]);
}
は今、2ヶ月以上のCプログラミングを学び始め、これは、私は配列を使用しています初めてです。 「printf関数」:フォーマット文字列「%s」は型「のchar *」の引数が必要ですが、可変長引数1「はint型を持つと私はC4477警告
出力ボックスにを次のエラーメッセージが発生しました'
' "%sを"、文字列[freqstring])' - 何かがここに欠けている... – 4386427
エラーchar配列またはcharポインタを意味する "文字列"を出力したいと主張しています。あなたが与えているパラメータはcharです。配列ではなく、ポインタである。 –
すべてのタイプミスを修正しました。 @SamKuhmonen、しかし、それを 'char string [10]'という名前で宣言していないのは、サイズ文字列のサイズ10の配列でしたか?私の質問が本当にあなたに馬鹿に聞こえたら、すみません。 –