Napisałem program który pobiera kopiuje zawartość pliku do tablic, a następnie je wyświetla.
Na razie chcę stworzyć tylko dynamiczną tablice jednowymiarową lecz pojawiają się problemy
#include <stdio.h>
#include <cstringt.h>
#include <stdlib.h>
#define DLUGOSC_LINII 99
#define WIERSZY 9
char final[WIERSZY][DLUGOSC_LINII];
void string_copy(char to[], char from[]){
for (int i=0; ; i++){
to[i]=from[i];
if(to[i]==NULL)break;
}
}
int main(){
int dlugosc=99;//dlugosc linii
int i=0;
//char *line = (char *) malloc(sizeof(char)*dlugosc );
char line[99];
FILE *file = fopen ("file.txt", "r");
while (fgets (line, sizeof line, file) != NULL){
string_copy(final[i],line);
i++;
}
fclose (file);
for (int a=0;a<9;a++){
printf("%s",final[a]);
}
return 0;
}
Taki kod działa, lecz jeśli od-komentuje linijkę
char *line = (char *) malloc(sizeof(char)*dlugosc );
To już jest źle. Jak sobie z tym poradzić.
Po prostu nie chcę używać DEFINE, do wymiar tablicy zależy od ilości wierszy (i jego długości)
Ogólnie jak sobie poradzić żeby zdefiniować rozmiar tablicy nie z początku a w środku programu?