czytanie pliku

0

mam taki mały problemik.

char *tablica[100];
char *czyt;
FILE *plik;
int i;
AnsiString path;
path=ExtractFilePath(Application->ExeName);
path=path+"lines.txt";
plik=fopen(path.c_str(),"r");
while (!feof(plik)) {
fgets(czyt,100,plik);
tablica[i]=czyt;

0

char *tablica[100];

W tym przypadku tablica jest wskaźnikiem na tablicę wskaźników na zmienne typu char.
char a; jest równoznaczne z
char a[];
Pomiń w swojej deklaracji znak "
".

0

czyli dobrze rozumiem z char tablica[100]; wywalić "" ??

0

fgets(czyt,100,plik);

"czyt" - przecież to nawet nie jest w stanie przechować 100 elementów! to jest tylko wskaźnik, który wskazuje na jakiś obszar w pamięci, musisz najpierw zaalokować "czyt", np.

[code]
czyt = (char*)malloc(101);
memset(czyt, 0, 101);
[/code]

Zdrówka!

0

wydaje mi sie ze problem lezy w tym ze :
char *costam[10]; jest deklaracja tablicy dwuwymiarowej(jeden wymiar nieokreslony wiec albo uzywaj jednowymiaroych albo ustal drugi wymiar na "sztywno" np:
char tab[10][100]; lub co najwygodniejsze w edcji tekstu jeden wymiar na "sztywno"(dlugosc lini) a drugi "mallocuj + reallocuj " bo wydaje mi sie ze o to chodzi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1