Re: [問題] 指標陣列的問題
※ 引述《needFresh (膩了新鮮感)》之銘言:
小弟我推累了, 直接回文吧....
1. 如果你固定會在動態要回來的char[]最後填'\0'
你就應該多幫它malloc一個char來放'\0'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
這個描述不太好, 應該說原來算出來malloc的size沒有計入'\0'的位子,
所以才會如下例, 在malloc時多加1的char以供你放入'\0'的空間.
EX:
line[j]=(char*)malloc (sizeof(char)*i+1);
line[j][i]='\0';
2. 你如果沒把malloc回來的pointer存起來
就不要改變它, 否則....
EX:
char *buffer, *head;
buffer=(char*) malloc (sizeof(char)*txtSize+1); //由上面的指令得知應分配的記憶體大小
head = buffer;
...
buffer += i;
...
free(head);
3. 你寫出來的那個while判斷邏輯不對
不管判斷true還是判斷false邏輯都不通
提示我推文寫過了, 你自己想一想看看@_@"
4. 可能你只是還沒寫到, 但是line[j]記得free:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.41.4
→
03/10 18:14, , 1F
03/10 18:14, 1F
→
03/10 18:15, , 2F
03/10 18:15, 2F
→
03/10 18:15, , 3F
03/10 18:15, 3F
推
03/10 18:16, , 4F
03/10 18:16, 4F
※ 編輯: VictorTom 來自: 220.134.41.4 (03/10 18:25)
推
03/10 22:54, , 5F
03/10 22:54, 5F
→
03/10 23:22, , 6F
03/10 23:22, 6F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章