私は次のように関数fgetsを使ってchar型の値を読み込むしようとしている:「変数の周りのスタックが壊れた」エラー
int main() {
char m_cityCharCount;
// Input the number of cities
fgets(&m_cityCharCount, 4, stdin);
return 0;
}
コードが実行された後、Visual Studioがこのエラーを返します - Stack around the variable m_cityCharCount was corrupted
です私はそれについて何かできることがありますか?
サイズは変更のない4例、Cで1:'チャーm_cityCharCount [16];関数fgets(m_cityCharCountのsizeof m_cityCharCount、STDIN); 'は – BLUEPIXY
' fgets'を読み取るように意図されているゼロで終了します*文字列*。単一の 'char'を受信側バッファーとして使用しています。これは空のゼロ終端文字列で十分です。それをしながら、あなたはその '4'で' fgets'に嘘をついています。受信者バッファは、 '4'ではなく '1'''char'のみで構成されます。 – AnT