Załóżmy, że mam wejście następująco:Korzystanie ifstream jak fscanf
N (X_1,Y_1) (X_2,Y_2) .... (X_N, Y_N)
gdzie N X_i i Y_i są liczbami całkowitymi.
Przykład:
2 (55,1) (521,7)
Aby to czytać, mogę zrobić coś takiego (zakładając wszystkie zmienne są zdefiniowane, itd.):
fscanf(fin,"%d ",&N);
for (int i = 0; i < N; i++)
fscanf(fin,"(%d,%d) ", &X[i], &Y[i]);
Chodzi o to, w jaki sposób mogę zrobić to łatwo za pomocą ifstream. Mogę uzyskać ciąg, a potem mogę pozbyć się niepotrzebnych i używając stringów, mogę uzyskać dwie liczby, ale wydaje się to trochę uciążliwe. Czy istnieje łatwiejszy, bardziej elegancki sposób?
Dzięki
dlaczego nie wystarczy użyć scanf jak jesteś już robi? czy pytasz, ponieważ chcesz się uczyć? – falstro
Pytam tylko dlatego, że chcę się uczyć =) – kolistivra
Ostatnim razem, gdy zasugerowałem użycie IO w stylu C w programie C++, wszystkie elity C++ na SO miały na mnie ochotę. – dreamlax