char to int
-
ja ich habe ein festes char array (meinarray[100]) .. will aber nich das ganze in int haben sondern nur einen wert zb meinarray[1]. und in diesem steht jetzt zb 78. das moecht ich auch als int 78 haben.
die antworten da oben haben auch gefeunzt nur wie schon einer geschrieben hat nur mit einer ziffer
-
hhhh schrieb:
Ich mach das immer so:
char x;
int i = atoi(&x);das crasht.
und für einen chart ist -'\0' nicht unangenehm.willste unbedingt atoi nehmen, mußte eher machen
char tmp[]="x";
tmp[0]=x;
int i = atoi(&x);oder
char tmp[]={x,'\0'};
int i = atoi(&x);
-
Dann isses ja doch ein cast
int val = (int)ch[5];
Kurt
-
Ne den Cast hat er ja selber in seinem ersten Posting.
Mit meiner Variante wäre es: int i = lexical_cast< int >( '2' );
-
okt schrieb:
ja ich habe ein festes char array (meinarray[100]) .. will aber nich das ganze in int haben sondern nur einen wert zb meinarray[1]. und in diesem steht jetzt zb 78. das moecht ich auch als int 78 haben.
die antworten da oben haben auch gefeunzt nur wie schon einer geschrieben hat nur mit einer ziffer
User--- schrieb:
Ne den Cast hat er ja selber in seinem ersten Posting.
Mit meiner Variante wäre es: int i = lexical_cast< int >( '2' );@User--- Dann müsste es nach deiner variante aber
int i = lexical_cast< int >( '78' );
sein. Was aber quatsch ist
Kurt
-
ZuK schrieb:
[...]
User--- schrieb:
Ne den Cast hat er ja selber in seinem ersten Posting.
Mit meiner Variante wäre es: int i = lexical_cast< int >( '2' );@User--- Dann müsste es nach deiner variante aber
int i = lexical_cast< int >( '78' );
sein. Was aber quatsch ist
KurtNein, das stimmt schon so wie es da steht.
-
@User---
Ich geb ja zu dass die ursprüngliche Frage mit der oben zitierten Frage nichts mehr gemeinsam hat. Vielleicht erfahren wir ja noch was das Problem ist.
BTW wenn du von boost::lexical_cast sprichst dann funktioniert das AFAIK aber nur mit char arrays oder std::string.
Kurt
-
ZuK schrieb:
@User---
Ich geb ja zu dass die ursprüngliche Frage mit der oben zitierten Frage nichts mehr gemeinsam hat. Vielleicht erfahren wir ja noch was das Problem ist.
BTW wenn du von boost::lexical_cast sprichst dann funktioniert das AFAIK aber nur mit char arrays oder std::string.
KurtIch meinte mein lexical_cast von Seite1.
-
User--- schrieb:
Ich meinte mein lexical_cast von Seite1.
Wunderbare template-funktion.
Nur wie du damit vonchar meinarray[100] = { 12, 78, 0 }; int i = lexical_cast<int>(meinarray[1]);auf i == 78 kommen willst ist mir ein Rätsel. ( siehe letztes posting von okt. ) und nur davon spreche ich.
Kurt
-
Moment, das was er dort beschreibt ist doch einfach int i = char( 78 );. Ich dachte er will char zahl[] = "78"; in 78 umwandeln.
Dann hast natürlich recht.
-
Na wenigstens sind wir uns jetzt einig. Der OP scheint das Interesse ja schon verloren zu haben.
Kurt