Konvertierung Integer in String?
-
Hi!
Ich versuche verzweifelt einige Integer in Strings (also Char*) zu konvertieren, aber das Programm stürzt immer nach der Ausgabe des ersten Strings ab, was mache ich falsch?
#include <stdio.h> #include <iostream> using namespace std; int main(void) { int i[15]; char* sz[15]; for (int a = 1; a <= 14; a++) { i[a] = 1; cout << a << ": " << i[a] << "\n"; } cout << "\n\n"; for (int a = 1; a <= 14; a++) { sprintf(sz[a],"%d",i[a]); cout << sz[a] << "\n"; } system("pause"); return 0; }
Ausgabe:
1: 1 2: 1 3: 1 4: 1 5: 1 6: 1 7: 1 8: 1 9: 1 10: 1 11: 1 12: 1 13: 1 14: 1 1 ** ABSTURZ **
Vielen Dank für Eure Hilfe!
-
1. Das ist kein Ansi-C, sondern C++. Entweder benutzt du dann <cstdio> oder lässt iostream weg, damit es Ansic-C wird.
2. Benutzt du kein malloc:for (int a = 1; a <= 14; a++) { sz[a] = (char*)malloc(2000); sprintf(sz[a],"%d",i[a]); cout << sz[a] << "\n"; }
-
Sorry, war zu faul das cout noch kurz durch printf zu ersetzen
Danke für die Hilfe!Auch auf die Gefahr hin jetzt geschlagen zu werden weil falsches Forum:
Wie würde eine entsprechende Konvertierung in C++ aussehen? Will dafür jetzt nicht extra einen neuen Thread im anderen Forum eröffnen.
-
-
Der Kunde dankt, sowas habe ich gesucht