配列を定義しました:
char arr[1480];
ここで、ファイルから正確に 1480 文字を読み取り、arr に入力します (arr[i]=c を実行)。while ループを使用して一度に 1 つの文字を読み取り (istream.get())、インクリメント インデックス = 1480 で停止するため、1480 文字を認識しています。
しかし、その後、strlen(array) を実行すると、1512 が返されます。ファイルから読み取るたびに、常に最大 1480 文字を読み取っていますが、これはいくつかの場合にのみ発生しますが、すべての場合に発生するわけではありません。
私の疑問は、1 つの文字が複数の単位 (strlen(arr) によって返される単位) を占める可能性があることです。もしそうなら、どうすればこれを修正できますか?
ありがとう
PS: 以前、ポインターがガベージされるという問題を尋ねました。これは、1480 を超える長さのバッファー (arr) がある場合の原因です。