我定义了一个数组:char数组的strlen大于它的大小。如何避免?
char arr [1480];
现在,我从一个文件中读取了1480个字符并放入arr(通过执行arr [i] = c)。 我知道1480个字符,因为我使用while循环来读取一个字符一次(istream.get())并停止当增量索引= 1480.
然后,我做strlen(数组)和它返回1512.怎么回事?这只发生在某些场合,但不是在所有情况下,即使每次我从档案中读取,我总会读到1480个字符。
我的疑问是一个char可能占据1个单位(由strlen(arr)返回的单位)。 如果是这样,我该如何解决这个问题?
由于
PS:我问一个问题早先我的指针被garbaged,这是原因时,我有长度的缓冲液(ARR)> 1480
你可能不是终止数组 - arr [1479] ='\ 0''。 – Yuushi 2013-05-05 04:11:02