C ++ konvertiert int und string in char *

7

Das ist ein bisschen schwer, ich kann es nicht herausfinden.

Ich habe einen int und einen String, den ich als char * speichern muss, der int muss in hex

sein

d. h.

%Vor%

Ich muss beide getrennt durch einen Tab in ein char * einfügen.

Die Ausgabe sollte wie folgt aussehen:

%Vor%     
user69514 19.11.2009, 20:03
quelle

5 Antworten

20

Mit entsprechenden Includes:

%Vor%

In etwa so:

%Vor%

Kopieren Sie das Ergebnis von:

%Vor%

Beachten Sie, dass das Ergebnis von c_str ein temporäres (!) const char* ist. Wenn Ihre Funktion also char * benötigt, müssen Sie irgendwo eine veränderbare Kopie zuordnen. (Vielleicht kopieren Sie es in ein std::vector<char> .)

    
Charles Bailey 19.11.2009, 20:05
quelle
4

Versuchen Sie Folgendes:

%Vor%     
Mike Marshall 19.11.2009 20:07
quelle
2
%Vor%

Ich habe sprintf verwendet, um Ihre Nummer als Hexadezimalzahl zu formatieren.

    
Jacob 19.11.2009 20:07
quelle
1

str.c_str() gibt eine nullterminierte C-Zeichenfolge zurück.

Hinweis: Die Hauptfrage wurde nicht beantwortet, da Ihr Kommentar darauf hinwies, dass dies nicht notwendig war.

    
int3 19.11.2009 20:08
quelle
0

diejenigen, die schreiben "const char * myString=" eine Zahl ";" sind nur lausige Programmierer. Da sie nicht in der Lage sind, die C-Grundlagen zu bekommen, stürzen sie sich in C ++ und fangen an, über Dinge zu sprechen, die sie einfach nicht verstehen.

"const char *" Typ ist ein Zeiger. "eine Zahl" - ist Array. Sie mischen Zeiger und Arrays. Ja, C ++ - Compiler erlauben manchmal die Kanal-Typisierung. Aber Sie müssen auch verstehen - wenn Sie Kanal-Typisierung nicht verstehen, wo Ihre "Duktivität" ist - Ihr ganzes Programm ist nur ein Klebeband.

    
Alexander Solonsky 19.11.2009 23:51
quelle

Tags und Links