Файл, который я читаю, имеет только имена, разделенные линией. Случается, что программа пытается распечатать содержимое line_array
и распечатает около 20 из последней строки в txt-файле.Проблемы с файловыми вводами и строковыми массивами
#include <stdio.h>
FILE* fp;
int main(){
char* line;
const char* line_array[255];
int i= 0;
int b =0;
fp = fopen("noob.txt","r");
while(fgets(line,255,fp)){
line_array[i]=line;
printf("%s",line);
printf("%s",line_array[i]);
i++;
}
for(;b<i;b++){
printf("%s",line_array[b]);
}
fclose(fp);
return 0;
}
1) 'char * line;' -> 'char line [255];' 2) 'line_array [i] = line;' -> 'line_array [i] = strdup (строка);' // strdup в –
BLUEPIXY