14. maj 2003 - 21:31
Der er
12 kommentarer og 1 løsning
splitte en streng?
hvis jeg har en streng med flg. "45:128:96", hvordan får jeg den så splittet ud over forskellige int vars? tegnet den skal splitte ved er ":" int main() { char test[] = "45:128:96"; int x,y,z; SPLIT HER(test, ":"); x = test[0]; y = test[1]; z = test[2]; return 0; } så skal den sætte: x = 45; y = 128; z = 96; håber i kan se hvad jeg vil
Annonceindlæg fra SoftwareOne
Jeg mener at du skan: sscanf(test,"%d:%d:%d",&x,&y,&z);
Jeps. #include <stdio.h> int main() { char test[] = "45:128:96"; int x,y,z; sscanf(test,"%d:%d:%d",&x,&y,&z); printf("%d %d %d\n",x,y,z); return 0; } virker !
yep.. lige et andet spørgsmål.. hvordan får jeg sneget et % tegn ind i sprintf så den bliver vist, og ikke brugt som argument..?
Hvis jeg husker rigtigt: %%
sprintf(msg, Ram information: %i%% load, %iMB ialt, %iMB i brug...\n\r", x, y, z);
Mystisk - det virker hos mig. Må jeg se din kode ?
det viser bare 45 load.. den skal vise 45% load
OK. der mangler en " forrest men ellers ser det rigtigt ud.
bare mig der skrev lidt for hurtigt.. der er en i mit program
#include <stdio.h> int main() { char msg[100]; char test[] = "45:128:96"; int x,y,z; sscanf(test,"%d:%d:%d",&x,&y,&z); printf("%d %d %d\n",x,y,z); sprintf(msg, "Ram information: %i%% load, %iMB ialt, %iMB i brug...\n\r", x, y, z); printf("%s\n",msg); return 0; } C:\>zzzz 45 128 96 Ram information: 45% load, 128MB ialt, 96MB i brug... ????
Men hvis det ikke virker med din compiler så bruger du bare %s og "%" ! :-)
nå, fuck det.. den får sat det ind, men ved ikk helt om den bliver fjernet ved send() funktionen eller sådan noget
Kurser inden for grundlæggende programmering