-3
讓我們考慮這個數組字符指針:如何在while循環中重新分配* char []?
char *lesMots[10];
這是一個while循環中使用:
while(fgets(buffer, TAILLE_BUFFER, fichier)!=NULL){
token = strtok(buffer, s);
while(token != NULL && token[0]!=13)
{
token[strlen(token)]='\0';
*(lesMots + ligne)=strdup(token);
ligne++;
token = strtok(NULL, s);
}
}
我試圖重新分配* lesMots的記憶[10]因爲它會崩潰稍後如果大小不等於或大於21.
我一直在考慮重新分配數組,儘管ligne> = 10但失敗了,這就是爲什麼我不向您展示我的malloc和realloc測試。感謝你們對我的幫助。
陣列不適的realloc。 'char ** lesMots = malloc(10 * sizeof(* lesMots));'而不是'char * lesMots [10];'。也是'token [strlen(token)] ='\ 0';'多餘。 – BLUEPIXY