我定义了一个数组:
字符 arr[1480];
现在,我从一个文件中准确读取了 1480 个字符并放入 arr(通过执行 arr[i]=c)。我知道 1480 个字符,因为我使用 while 循环一次读取一个字符 (istream.get()) 并在递增索引 = 1480 时停止。
但是,在那之后,我执行 strlen(array) 并返回 1512。怎么会?这仅在某些情况下发生,但并非在所有情况下都会发生,即使每次我从文件中读取时,我总是读取多达 1480 个字符。
我怀疑一个字符可能占用超过 1 个单位(strlen(arr) 返回的单位)。如果是这样,我该如何解决这个问题?
谢谢
PS:我之前问过一个关于我的指针被垃圾的问题,这就是我有一个长度> 1480的缓冲区(arr)的原因。