Char an char* anfügen?
-
HI,
wie kann man char an char* anfügen ohne sprintf zu benutzen?bei folgenem code kommt bei mir immer ein Fehler nämlich in strcat:
char c; char temp1[2]; char* temp2 = ""; temp1[0] = c; temp1[1] = '\0'; strcat(temp2,temp1);
MFG zu Dumm?
-
versuch mal
strcat(*temp2,temp1)
habs jetzt aber nicht probiert, nur so'ne idee
-
Das ist auch kein Wunder, temp2 zeigt auf eine string-konstante, nicht auf ein Speichersegment, das dir gehört und in das du schreiben darfst. Ansonsten, wenns nur um ein Zeichen geht und du wirklich nicht sprintf (oder besser, snprintf) benutzen willst:
char c = 'o'; char tmp[10] = "Hell"; // tmp muss groß genug sein, um alles zu fassen, was du reinschreiben willst. // ... int x = strlen(tmp); tmp[x] = c; tmp[x + 1] = '\0';
Im Zweifel ist in C++ aber std::string die sinnvollere Alternative:
#include <string> using namespace std; // ... char c = 'o'; string tmp = "Hell"; tmp += c;
-
Nimm doch die Standard-String-Klasse:
#include <string> typedef std::string String; void func( void ) { String a = "Hallo"; a += ','; a += " Welt!"; }