Konvertiert ein einzelnes Zeichen in int

8

Wie kann ich char a [0] in int b [0] umwandeln, wobei b ein leeres dynamisch zugeordnetes int-Array ist

Ich habe es versucht

%Vor%

Ich will 4, aber es gibt mir ascii Wert 52

Auch tun

%Vor%

gibt mir Fehler: ungültige Konvertierung von 'char' zu 'const char *' Initialisiere Argument 1 von 'int atoi (const char *)'

    
Raptrex 26.11.2009, 00:18
quelle

3 Antworten

24

Sie müssen Folgendes tun:

%Vor%

stattdessen.

    
Gonzalo 26.11.2009, 00:20
quelle
1

Die atoi () - Version funktioniert nicht, da atoi () auf Strings und nicht auf einzelnen Zeichen operiert. Das würde also funktionieren:

%Vor%

Beachten Sie, dass Sie versucht sein könnten, Folgendes zu tun: atoi (& amp; temp) aber das würde nicht funktionieren, da & amp; temp nicht auf eine Null-terminierte Zeichenkette zeigt.

    
Dave S. 26.11.2009 00:32
quelle
0

Sie können die gesamte Sequenz ersetzen:

%Vor%

mit dem einfacheren:

%Vor%

Keine Notwendigkeit, sich mit temporären Variablen herumzuschlagen. Der Grund, warum Sie '0' anstelle von 0 verwenden müssen, ist, dass ersteres das Zeichen '0' ist, das einen Wert von 48 hat, und nicht den Wert 0 .

    
paxdiablo 26.11.2009 01:22
quelle

Tags und Links