Avatar billede nomak Nybegynder
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
Avatar billede arne_v Ekspert
14. maj 2003 - 21:36 #1
Jeg mener at du skan:

sscanf(test,"%d:%d:%d",&x,&y,&z);
Avatar billede arne_v Ekspert
14. maj 2003 - 21:37 #2
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 !
Avatar billede nomak Nybegynder
14. maj 2003 - 21:50 #3
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..?
Avatar billede arne_v Ekspert
14. maj 2003 - 21:52 #4
Hvis jeg husker rigtigt: %%
Avatar billede nomak Nybegynder
14. maj 2003 - 21:54 #5
det virker ikke :(
Avatar billede nomak Nybegynder
14. maj 2003 - 21:58 #6
sprintf(msg, Ram information: %i%% load, %iMB ialt, %iMB i brug...\n\r", x, y, z);
Avatar billede arne_v Ekspert
14. maj 2003 - 21:58 #7
Mystisk - det virker hos mig.

Må jeg se din kode ?
Avatar billede nomak Nybegynder
14. maj 2003 - 21:58 #8
det viser bare 45 load.. den skal vise 45% load
Avatar billede arne_v Ekspert
14. maj 2003 - 21:59 #9
OK.

der mangler en " forrest men ellers ser det rigtigt ud.
Avatar billede nomak Nybegynder
14. maj 2003 - 22:00 #10
bare mig der skrev lidt for hurtigt.. der er en i mit program
Avatar billede arne_v Ekspert
14. maj 2003 - 22:00 #11
#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...

????
Avatar billede arne_v Ekspert
14. maj 2003 - 22:02 #12
Men hvis det ikke virker med din compiler så bruger du bare
%s og "%" !

:-)
Avatar billede nomak Nybegynder
14. maj 2003 - 22:06 #13
nå, fuck det.. den får sat det ind, men ved ikk helt om den bliver fjernet ved send() funktionen eller sådan noget
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester