Int to string
-
moin
warscheinlich sehr trivial, aber ich komme nicht drauf.
ich will an einen string (unter c) eine integer zahl dran hängen.int i=0; char *search; char test[10]; char hmm[]="eth";; for(i=0;i<=8;i++){ sprintf(test,"%d",i); search=strcat(hmm,test); printf("%s\t%s\t%s\n",search,test,hmm);}
wenn ich das ausführe, bekommt test auch die gewünschte zahl aber es wird nicht korrekt an hmm angehängt.
cu melkor
-
ok, selber gemerkt, sorry. fehlt nur eine erneute deklaration von hmm in der for schleife und es läuft.
cu melkor
-
char hmm[]="eth";;
ok, das doppelte semikolion ist nen Schreibfehler nehm ich mal an ?
search=strcat(hmm,test);
Das funzt ?? oh oh !strcat haengt den 2.string an den ersten an, und gibt den zeiger auf den ersten string zurueck ... oder nich ?
also search == hmm muesste gelten, also unnoetig ! Also search unnoetig
und eine zeichenkette an nen "eth" , auf nem konstanten speicherbereich anhaengen ... aua ... dein compiler spielt da mit ?const char * preInterface = "eth"; char buffer[10]; for(int i = 0;i <= 8; i++) { // in nen buffer schreiben ... sprintf(buffer,"%s%d",preInterface,i); // oder gleich ausdrucken printf("%s%d",preInterface,i); }
bin in C ned so fit ... wird sicher besser gehen ...
Wenn sowieso printf und sprintf verwendest, brauchts strcat ned unbedingt ...Ciao ...
-
search=strcat(hmm,test);
Das funzt ??nö, tut es nicht
int eth_bandbreite() { int i=0; char z_i_a_s[10]; dev_z(); if(ethi.dev_zaehler!=0){ for(i=0;i<=ethi.dev_zaehler-1;i++){ char search_sting[]="eth"; sprintf(z_i_a_s,"%d",i); strcat(search_sting,z_i_a_s); nat(search_sting,1); } printf("%d\n",ethi.in_old); printf("%d\n",ethi.out_old); } }
und das läuft so wie ich es will
(ps gcc version 3.2.2)
cu melkor