• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wskaźnik na typ strukturalny

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
181 wizyt
pytanie zadane 10 marca 2020 w C i C++ przez ullortnaci Nowicjusz (220 p.)

Jak zrobić to, żeby nie było błędu przy cos.liczba i cos.napis?

struct stuktura
{
	char napis[ROZMIAR];
	int liczba;
};

int wiersz(FILE* f, struct struktura* cos)
{
	while (!feof(f))
	{
		fscanf(f, "%d", cos.liczba);
		fscanf(f, "%s", cos.napis);
	}
}

int main(void)
{
struct struktura cos[5];
FILE* f, * s;
wiersz(f,cos[1]);
}

 

1 odpowiedź

0 głosów
odpowiedź 10 marca 2020 przez Eryk Andrzejewski Mędrzec (165,260 p.)

Jeżeli cos jest wskaźnikiem na strukturę, to zamiast operatora kropki (.) zastosuj operator strzałki (->).

Możesz też skorzystać z operatora dereferencji, czyli na przykład (*cos).liczba

Poza tym sugeruję zmienić nazwę, bo w tej chwili masz zbieżność z funkcją cos() z biblioteki matematycznej. laugh

komentarz 10 marca 2020 przez ullortnaci Nowicjusz (220 p.)
A jeśli mam dane takiego formatu:

"liczba całkowita napis liczba całkowita"

To jak mam przy odczycie zignorować to pierwsze i zapisać w tej strukturze tylko te drugie i trzecie?

Podobne pytania

0 głosów
0 odpowiedzi 141 wizyt
pytanie zadane 13 marca 2020 w C i C++ przez susanel Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 235 wizyt
pytanie zadane 19 kwietnia 2016 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 295 wizyt

90,401 zapytań

139,013 odpowiedzi

311,510 komentarzy

60,082 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...