ich folgendeWie initialisieren char-Array aus einem String
char a[] = { 'A', 'B', 'C', 'D'};
tun will Aber ich will diese Zeichen nicht separat schreiben. Ich möchte etwas wie
#define S "ABCD"
char a[] = { S[0], S[1], S[2], S[3] };
Aber das wird nicht kompilieren (gcc sagt 'Initialisierungselement ist nicht konstant').
Ich versuchte, die #define Linie mit
const char S[] = "ABCD";
ersetzt aber das scheint nicht zu helfen.
Wie kann ich dies (oder etwas Ähnliches) machen, das mich die "ABCD" als normale "Zeichenfolge" schreiben lässt und nicht als vier separate Zeichen?
P.S. Es scheint, dass die Menschen nicht lesen, die Frage richtig ...
ich nicht der folgende Code bekommen kann zu kompilieren:
const char S[] = "ABCD";
char t[] = { S[0], S[1], S[2], S[3] };
char u[] = { S[3], S[2], S[1], S[0] };
warum nicht einfach char a [] = "ABCD"; –
Es sollte auf jeden Fall funktionieren. Wie hast du kompiliert? Welche Optionen gibst du an gcc weiter? – qrdl
Bitte erläutern Sie, warum eine Char-Zeichenfolge kopiert/einer anderen Char-Zeichenfolge zugewiesen werden soll, indem eine individuelle Zeichenzuweisung verwendet wird. – nik