我定義了一個數組: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