Cześć
Mam sobie na komputerze plik tekstowy taki: Imię, nazwisko, numer.
Przykład:
Kamil;Sadzonka;999999
Cezary;Pazura;002137
Krzysztof;Ibisz;333444
Lech;Wałęsa;100000
program do odczytu tego pliku wygląda tak:
void ReadFromFile()
{
unsigned const int bufferLength = 1024;
char dane[bufferLength];
char imie[bufferLength];
FILE *pFile = fopen("Database.txt","r");
while (!feof(pFile))
fgets(dane,1024,pFile); // tutaj program kopiuje tekst aż nie napotka końca linii i zapisuje ją do dane
fclose(pFile);
}
i teraz chciałbym jakoś wyciągnąć imię i zapisać je do specjalnej zmiennej
char imie[1024]
. Próbuję kombinować z tym średnikiem, że dopóki program nie napotka średnika, niech kopiuje znaki z dane do imie jednak program mi nie działa.
Tutaj np. próbowałem tak:
void ReadFromFile()
{
unsigned const int bufferLength = 1024;
char dane[bufferLength];
char imie[bufferLength];
FILE *pFile = fopen("Database.txt","r");
while (!feof(pFile))
{
fgets(dane,1024,pFile);
for (int i=0; i<strlen(dane); i++)
{
while (dane[i] != ';')
{
strcpy(imie[i], dane[i]); //tutaj jest błąd na pewno, ale nie wiem jak to inaczej robić. Tutaj chciałbym kopiować tekst z dane do imię aż program nie napotka średnika (;)
}
}
}
fclose(pFile);
}
Jakiś pomysł? Tylko też nie za bardzo rozbudowany, korzystam raczej z podstawowych narzędzie C. Wiem że wielu z was potrafiłoby to napisać w jednej linijce, jednak ja bym potem nic nie zrozumiał, także proszę o jak najprostsze wyjście :D