作者gn00618777 (非常念舊)
看板C_and_CPP
標題[問題] 關於cppcheck用來檢查程式的 error
時間Sat Sep 14 22:46:15 2019
我在 linux 上開發程式。工作上的電腦 64 位元
apt-get 了 cppcheck 套件來檢查自己程式的潛藏問題
印象中的程式是這樣
FILE *pF;
pF = fopen("b.txt", "r");
char a[256]="", *recv = fgets(a, sizeof(a), pF);
fclose(pF);
下了 cppcheck test.c 2> look
會出現 error: buf is accessed out of bounds
我回家用自己的電腦再K一次,又沒出現error了~"~,想請問各位打上這段程式碼
有出現類似的問題嗎?
要是有出現error,我是想問發生error的原因,因為我看了好幾次都不覺得有error
但 cppcheck 卻說有。然後我把 a[256]=""; 變成a[256]; 就沒出現error。
不太解,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.215.61 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1568472378.A.7EE.html
→ dces4212: 怎覺得你是在非宣告的地方打了a[256]="",才跳出越界存 09/15 12:05
→ dces4212: 取 09/15 12:05
→ gn00618777: 疑? char a[256]="", *recv = ... 這邊不就是宣告了? 09/15 20:59