Frage von ZrioXoirZ, 80

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

Antwort
von RedKungFuMastr, 27

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;
}
Kommentar von ZrioXoirZ ,

Danke, jedoch wenn es geht ohne printf funktion :D. Kennste sonst noch ne methode?

Kommentar von RedKungFuMastr ,

Du kannst jede andere Konsolenausgabenmethode nehmen, die du willst *facepalm...

Kommentar von ZrioXoirZ ,

Danke <3 es funktioniert :D

Kommentar von RedKungFuMastr ,

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;
}

Keine passende Antwort gefunden?

Fragen Sie die Community