|
| string Fra : Jan |
Dato : 04-02-03 18:09 |
|
Hei
Er det noen som kan hjelpe meg med hvordan jeg skal plukke ut data fra en
streng
Det kan være 2 typer
Alt 1.
"Pris 123&"
Her ønsker jeg å plukke ut teksten "Pris" til en string og prisen 123 til en
annen. Det er alltid et mellomrom mellon "Pris" og "prisen", og strengen
avsluttes alltid med &.
Alt 2. Kommer strengen uten mellomrom og pris eks
"Pris&", her må jeg vite at det ikke er pris.
Hilsen Jan
| |
Igor V. Rafienko (04-02-2003)
| Kommentar Fra : Igor V. Rafienko |
Dato : 04-02-03 18:30 |
|
[ jan@blomberg.no ]
[ ... ]
> Er det noen som kan hjelpe meg med hvordan jeg skal plukke ut data
> fra en streng
Det kommer an på hvor komplisert input'en din egentlig er.
> Det kan være 2 typer
> Alt 1.
>
> "Pris 123&"
>
> Her ønsker jeg å plukke ut teksten "Pris" til en string og prisen 123 til en
> annen. Det er alltid et mellomrom mellon "Pris" og "prisen", og strengen
> avsluttes alltid med &.
Da er det veldig enkelt:
1. finn første mellomrom (fx. vha std::string::find/strchr)
2. plukk ut alt fra starten til det mellomrommet
(std::string::substr/memcpy)
3. finn fram til det første ikke-blanke. Husk posisjonen (kall den A)
4. finn fram til &. Kall posisjonen B. Ta vare på tegn i intervallet
[A,B]
Hva er problemet?
> Alt 2. Kommer strengen uten mellomrom og pris eks
> "Pris&", her må jeg vite at det ikke er pris.
.... Dersom punkt 3 i oppskriften over feiler, vet du at input'en ikke
er slik du vil den skal være.
Jeg spør igjen -- hva er problemet?
ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
-- pederst på irc
| |
Mads Jensen (04-02-2003)
| Kommentar Fra : Mads Jensen |
Dato : 04-02-03 18:33 |
|
Hej
> Alt 1.
>
> "Pris 123&"
>
> Her ønsker jeg å plukke ut teksten "Pris" til en string og prisen 123 til
en
> annen. Det er alltid et mellomrom mellon "Pris" og "prisen", og strengen
> avsluttes alltid med &.
Læs strengen char for char, og put ind i to forskellige strenge, pris og
pristal, fx.
Indtil du støder på et " ", putter du char i strengen pris.
Indtil du støder på et "&" putter du tallet/char i strengen pristal.
> Alt 2. Kommer strengen uten mellomrom og pris eks
> "Pris&", her må jeg vite at det ikke er pris.
Gør noget ala. i ex. 1
/mads
| |
Rasmus Christian Kaa~ (04-02-2003)
| Kommentar Fra : Rasmus Christian Kaa~ |
Dato : 04-02-03 20:23 |
|
> "Pris 123&"
#include <string.h>
int main(int argc, char **argv)
{
char str[] = "Pris 123&";
char *Pris = strtok(str, " ");
char *Kroner = strtok(NULL, " ");
printf("%s %s\n", Pris, Kroner);
return 0;
}
> "Pris&", her må jeg vite at det ikke er pris.
Kan sikkert tjekkes ved at kigge i man-siderne for strtok.
| |
|
|