Ask Your Question
0

Jak nacist kombinovanou radku

asked 2015-12-15 21:17:14 +0100

goodhoko gravatar image

V uloze na autocomplete se peru s nacitanim vstupu. Pisu fci, ktera nacte radek, ktery by mel byt ve formatu

22:AHoj jak se mas. [cislo:retezec]

Potrebuju rozpoznat kdy je stup spatny -neco spatne s cislem(neni tam, je zaporny atd) -neni tam ta delici dvojtecka

Zaroven je potreba rozoznat, kdyz je radka prazda (je tam pouze \n)

Zkousel jsem to nakousat pomoci scanf("%f%c"....) a getline problem je, ze takto nedokazu, rozpoznat prazdnou radku, protoze scanf proste ceka, dokad nedostane nejaky znak.

Jak (by) ste to delali vy?

Dekuju!

edit retag flag offensive close delete

2 Answers

Sort by » oldest newest most voted
1

answered 2015-12-17 20:46:59 +0100

Ondřej Máca gravatar image

Asi bych to neměl vykecat celý. Řeknu tedy jen: začni funkcí http://www.cplusplus.com/reference/istream/istream/getline/ ta načte celý řádek. Potom ho ale budeš muset nějak zpracovat.

edit flag offensive delete publish link more
0

answered 2015-12-21 01:03:48 +0100

JanVoz gravatar image

Škoda, že jsem si otázky všiml pozdě :/ Ale třeba to někomu příště pomůže:

1) fgets na celou řádku
pozor, je třeba alokovat paměť narozdíl od getline

2) vyparsovat přes sscanf data
Něco jako:
sscanf(retezec, "%lf%*1[:]%[^\n]s", &cislo, retezec )

Nevím, jak by to prošlo u té konkrétní úlohy na vstupy, ale mohl by to být alespoň dobrý základ :)

edit flag offensive delete publish link more

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

Add answer

[hide preview]

Question tools

Follow
1 follower

Stats

Asked: 2015-12-15 21:17:14 +0100

Seen: 700 times

Last updated: Dec 21 '15