- 締切済み
[c言語] 大きな文字列の入力
scanfやfgetsで入力を使用としても4000文字程度までしか受け取らないのですが それ以上の長さの文字列を受け取りたい場合はどうすればいいでしょうか? よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.2
>char str[10001] static char str[10001]; と定義したらどうなりますか?
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
>scanfやfgetsで入力 入力先の配列のサイズは?
質問者
お礼
回答ありがとうございます char str[10001]で10000文字もしくは5000文字の入力をすると4094文字 fgetsの場合は4095文字を受け取ってるように見えます 調べた結果どうも自分の環境が原因みたいなのですがどこを見ればよいのかわかりません 環境はWindows Mingw? VScodeです 入出力はPSとなってるのでおそらくPowerShellだと思います 設定方法などご存知であればよろしくお願いします
質問者
補足
C++のstringも4000文字程度までしか受け取らないです
お礼
返答ありがとうございます。 staticを付けても変わらないです ただ単に char str[10001]="1万文字~~~~~~略"; のようにscanfなどの入力を使わないで出力するだけなら1万文字は出力されます 該当のコードを提出したところ問題はなかったので提出先の環境では1万文字を受け取り処理したようです。