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ść
malan
» 2010-10-30 16:47:07
Zbędne?
|15|error: 'count' was not declared in this scope|
P-23443
Elaine
» 2010-10-30 16:57:38
Co, jeśli między liczbami wystąpią dwie spacje? Albo jakiś inny biały znak?

Swoją drogą, musi to być sscanf?
P-23444
michalp
» 2010-10-30 17:11:32
Dla trzech elementów możesz zrobić to tak:

C/C++
sscanf( "3 33 333", "%d%d%d", & tab[ 0 ], & tab[ 1 ], & tab[ 2 ] );

Podobnie dla większej ilości.
sscanf
 zwróci ile elementów pomyślnie odczytał.
P-23445
ison
Temat założony przez niniejszego użytkownika
» 2010-10-30 17:18:57
@malan u mnie biblioteka string załatwia sprawę ale widocznie to wina mojego kompilatora

@michalp dzięki, ale jesteś pewien że przeczytałeś tytuł problemu? :D przed kompilacją nie jest znana ilość argumentów jakie będę chciał wczytać ze string'a...

//wysyłanie w jednym pakiecie liczby n, a w kolejnych n pakietach liczb które chcę przesłać raczej odpada. Wygląda na to że przy tego typu rozwiązaniu nie wiadomo który z nich dojdzie pierwszy i często nie dochodzą one w odpowiedniej kolejności
P-23446
pekfos
» 2010-10-30 17:33:18
przecież możesz wysłać liczbę n i n liczb w postaci n+1 liczb. jeden pakiet
P-23447
michalp
» 2010-10-30 17:34:10
przed kompilacją nie jest znana ilość argumentów jakie będę chciał wczytać ze string'a...

A mimo to zakładasz że jest ich maksymalnie 100...
P-23448
ison
Temat założony przez niniejszego użytkownika
» 2010-10-30 17:41:02
@michalp nooo... i co w związku z tym? :O podałem to jako przykład, zamiast 100 może być i 10000, równie dobrze może to być i tablica dynamiczna, ale nie tego się przecież tyczy temat

@pekfos chyba tak właśnie zrobię
P-23449
michalp
» 2010-10-30 18:12:23
Jeżeli zakładasz odgórnie maksymalną ilość elementów które będziesz wczytywał to nie bedzie problemu byś zrobił to sposobem który podałem (no po za tym, że będziesz miał 2*n roboty).

Zresztą jeżeli ci tak zależy na szybkości, to czemu nie napiszesz własnej funkcji (da radę napisać to z liniową złożonością) ?
P-23450
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona