t0xic Napisano Wrzesień 26, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 26, 2018 Mam w pliku zapisane 3 liczby fload i je odczytuje... fscanf(plik, "%f %f %f", &x, &y, &z); Wszystko działa ale gdy liczby nie są odzdielone spacjami program głupieje np w przypadku średnika... Co zrobić aby program z pliku o treści 15.939111;0.000000;73.133652; odzczytał 3 zmienne?? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Wrzesień 26, 2018 Zgłoś Udostępnij Napisano Wrzesień 26, 2018 Drugi parametr funkcji fscanf to jest tzw string formatujący, czyli string mówiący funkcji fscanf w jakim formacie i w jaki sposób zapisane są zmienne, które chcemy odczytać. Tutaj: fscanf(plik, "%f %f %f", &x, &y, &z); wyraźnie dałeś do zrozumienia funkcji fscanf(...), że będziesz odczytywał 3 zmienne typu float oddzielone spacjami i tylko zmienne zapisane w taki sposób zostaną odczytane poprawnie. Żeby wczytać zmienne oddzielone średnikami musiałbyś napisać: fscanf(plik, "%f;%f;%f", &x, &y, &z); Jeżeli chesz odczytywać zmienne oddzielone dowolnymi wybranymi przez Ciebie znaczkami (czyli np. wiesz, ze zmienne będą oddzielona spacjami lub średnikami lub przecinkami) zainteresuj się funkcją strtok. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.