Мне нужно написать программу, которая читает текстовый файл.Символы файла должны храниться в массиве с двумя указателями или многомерном массиве.
Прежде всего я должен выяснить, сколько строк в текстовом файле.Первое измерение массива равно количеству строк, второе всегда имеет размер 256. Я должен выделить память, необходимую для массива.
Я уже получил это:
typedef struct _content {
int length;
char **lines;
} content_t;
...
FILE *ptr;
ptr = fopen("C:/Users/...txt", "r");
struct _content cont;
cont.length = 1;
cont.lines = malloc(sizeof(char*)*inhalt.length);
cont.lines[0] = malloc(255);
char c = fgetc(ptr);
...
while(c != EOF)
{
cont.lines[curline][curchar] = c;
if(c == '\n') //to check if there is a wordwrap
{
cont.length++;
curline++; //indicates the current line
cont.lines[curline] = malloc(255); //thats the line where I try to allocate the memory that will be needed
curchar = 0; //indicates the current character of the line
}
else
{
curchar++;
}
c = fgetc(ptr);
printf("%c", c); //to print out the content of the file (this works perfetly fine)
}
...
printf("\nCharacter at 10/ 0: %c", cont.lines[10][0]);
Я ожидаю, что программа напечатает все символы файла на консоли.Это отлично работает.Также следует распечатать первый символ строки 10, который не работает.Я не получаю никаких сообщений об ошибках.
Большое спасибо за вашу помощь!