Wczytywanie tekstu z pliku do momentu wykrycia średnika ;

0

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

1

http://ideone.com/Nzkf3A

#include <stdio.h>

int main(void)
  {
   char imie[100],nazwisko[100];
   int value;
   while((scanf(" %99[^;]s",imie)==1)&&(scanf("%*c %99[^;]s",nazwisko)==1)&&(scanf("%*c %d",&value)==1))
     {
      printf("%s %s %d\n",imie,nazwisko,value);
     }
   return 0;
  }

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