C++ mehrere chars* in eine char* variable?
Hallo liebe Community, Im mein derzeitigem Projekt möchte Ich mehrere char* variablen kompakt in einer char* variable addieren z.b.
char* 1 = "Hallo"
char* 2 = "Gutefragen.net"
char* 3 = 1 && 2
Jedoch kriege Ich bei der Methode oben immer denn error:
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand Fehler (aktiv) der Ausdruck muss einen ganzzahligen Enumerationstyp oder einen Enumerationstyp ohne Bereichseinschränkung aufweisen c:\Users\ZrioXoirZ\Documents\Visual Studio 2015\Projects****.h 308
Wenn ihr mir Helfen könnt oder eine bessere Methode kennt, dann würde Ich mich gerne um eine Antwort freuen. Kann auch ruhig normale Char's sein muss nicht unbedingt mit Pointer sein. Wäre aber besser. Trotzdem freue Ich mich über jede Antwort :D
Mfg ZrioXoirZ
1 Antwort
Natürlich kriegst du hier einen Fehler... Variablennamen fangen nie mit einer Zahl an...
Das was du suchst, findest du hier: http://www.cplusplus.com/reference/cstring/strcat/
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char var1[256] = "Variable 1";
char var2[256] = "Variable 2";
strcat(var1, " und ");
strcat(var1, var2);
strcat(var1, " in einem String...");
printf(var1);
return 0;
}
Du kannst jede andere Konsolenausgabenmethode nehmen, die du willst *facepalm...
Hier nochmal mit Pointer:
#include <cstring>
#include <iostream>
using namespace std;
char* append(char*, char*);
int main() {
char* var1 = new char[256];
char* var2 = new char[256];
strcat(var1, "Variable 1");
strcat(var2, "Variable 2");
var1 = append(var1, (char*) " und ");
var1 = append(var1, var2);
var1 = append(var1, (char*) " in einem String...");
printf(var1);
return 0;
}
char* append(char* a, char* b) {
char* output = new char[strlen(a) + strlen(b) + 1];
strcpy(output, a);
strcat(output, b);
return output;
}
Danke, jedoch wenn es geht ohne printf funktion :D. Kennste sonst noch ne methode?