[C++] sscanf nieznana ilość argumentów
Ostatnio zmodyfikowano 2010-10-30 18:57
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? 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 |
|
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? |
|
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 |
|
Elaine |
» 2010-10-30 18:42:03 myślałem że są to pytania do kodu malana |
Częściowo były, przynajmniej to pierwsze.
W takim razie, czemu nie użyjesz std::istringstream? |
|
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ę |
|
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> |
|
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) |
|
1 2 « 3 » |