Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] sscanf nieznana ilość argumentów

Ostatnio zmodyfikowano 2010-10-30 18:57
Autor Wiadomość
ison
Temat założony przez niniejszego użytkownika
» 2010-10-30 18:35:11
@michalp człowieku, nie ogarniasz :D
jest różnica między MAKSYMALNA ilością danych a liczbą danych które CHCE WYSŁAĆ
przykładowo podałem że w programie max może wystąpić 100 liczb, ale to nie znaczy że za każdym razem string będzie zawierał 100 liczb, będzie mógł niekiedy zawierać 5, niekiedy 10, a niekiedy 50 liczb
i jak wtedy napiszesz w kodzie?
C/C++
sscanf( x, "%d %d...", & a[ 0 ], & a[ 1 ],...drogi kompilatorze tutaj wstawiaj tyle liczb ile aktualnie wynosi liczba N );
;)
chodzi o to aby wczytać wszystkie zmienne których ilość nie jest znana przed kompilacją

Zresztą jeżeli ci tak zależy na szybkości, to czemu nie napiszesz własnej funkcji
pewnie z tego samego powodu co ludzie nie piszą własnych setów,multisetów,list,strcpy,strcat itd...
lepiej się upewnić czy nie ma takiej funkcji już zaimplementowanej zanim zacznie się pisać własne ;)
i jeśli dany kawałek kodu można skrócić to zawsze kilka zbędnych linijek mniej

póki co chyba najlepszy mi się wydaje sposób z sscanf'em i usuwaniem za każdym razem już wczytanego elementu. Jak ktoś znajdzie wydajniejszy sposób to byłbym wdzięczny
P-23451
Elaine
» 2010-10-30 18:38:37
Powtórzę swoje pytania:

Co, jeśli między liczbami wystąpią dwie spacje? Albo jakiś inny biały znak?

Swoją drogą, musi to być sscanf?
P-23452
ison
Temat założony przez niniejszego użytkownika
» 2010-10-30 18:40:09
sorry Iname myślałem że są to pytania do kodu malana
2 spacje nie będą występowały z rzędu
nie musi być sscanf
P-23454
Elaine
» 2010-10-30 18:42:03
myślałem że są to pytania do kodu malana
Częściowo były, przynajmniej to pierwsze.

nie musi być sscanf
W takim razie, czemu nie użyjesz std::istringstream?
P-23455
ison
Temat założony przez niniejszego użytkownika
» 2010-10-30 18:43:47
czy w std::istringstream można kontynuować wczytywanie z konkretnego miejsca? jeśli tak to załatwia to całą sprawę
P-23456
Elaine
» 2010-10-30 18:46:12
czy w std::istringstream można kontynuować wczytywanie z konkretnego miejsca?
Jak mogło ci to przyjść do głowy? Przecież strumienie zawsze rozpoczynają czytanie od początku, nigdy nie kontynuują od miejsca, w którym skończyła się ostatnia operacja odczytu.</sarcasm>
P-23457
ison
Temat założony przez niniejszego użytkownika
» 2010-10-30 18:57:09
problem rozwiązany, chyba rzeczywiście skorzystam ze strumieni. Mam rozumieć że korzystając z sscanf nie da się uzyskać tego samego efektu równie prosto? (tzn najlepiej aby dało się kontynuować wczytywanie sscanf'em z poprzedniego miejsca)
P-23458
1 2 « 3 »
Poprzednia strona Strona 3 z 3