Wpisanie danych z pliku tekstowego do struktury

0

Witam,
Mam problem z wpisaniem danych z pliku tekstowego do struktury.

Nazwa pliku to wyluskanie-adresu.txt

Plik tekstowy u mnie jest taki :

Cell 01 - Address:
Channel:
Frequency: (Channel)
Quality = Signal level =
ESSID:
Extra: Last beacon:
Oczywiście jest to zapełnione odpowiednimi wartościami. Chodzi tylko o zamysł. I takich połączeń może być sporo w zależności od tego w jakim momencie uruchomię swoją aplikację.

Kod jaki do tej pory wymyśliłem jest taki :

#include <stdio.h>

int countlines(char *filename); // funkcja do zliczania linijek w tekscie




int main()
{



int i = 0;

int b = countlines("wyluskanie-adresu.txt");

struct  polaczenie{
	int cell;
	char mac[15];
	int channel;
	double frequency;
	int quality;
	char essid;
	double last_beacon;
}wifi[(b-1)/6];


FILE *emp_file;
emp_file = fopen("wyluskanie-adresu.txt","r");

  do {
        int n = 
        fscanf(emp_file, "%d %s %d %d %d %s %f", &wifi[i].cell,
               wifi[i].mac, &wifi[i].channel,
               &wifi[i].frequency, &wifi[i].quality,
               &wifi[i].essid, &wifi[i].last_beacon);               
        //printf("i = %d, n = %d\n", i, n);
        i++;
    } while (feof(emp_file) == 0);
    
      for ( int k = 0; k < i; k++)
    {
		printf("%d,%s\n",wifi[k].cell,wifi[k].mac);
	}
    
	fclose(emp_file);

	return 0;
}


int countlines(char* filename)
{
	
	FILE *fp = fopen(filename,"r"); // otwarcie pliku tylko do odczytu ("r")
	int ch = 0; // bufor na znaki
	int lines = 0; // licznik linii
	
	if (fp == NULL) // jesli plik tekstowy jest pusty
	{
	return 0; 
	}
	
	
while(!feof(fp))
{
  ch = fgetc(fp);
  if(ch == '\n')
  {
    lines++;
  }
}
	fclose(fp); // zamkniecie pliku tekstowego
	return lines;
}

Niestety nie działa on tak jak powinien. Zapętla się a chciałbym żeby te dane były wpisane do stuktur i tam przechowywane.

0

W ktorym miejscu sie zapetla sprawdz w debugerze.

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