Ich habe ein Zeichenfeld von 256 Zeichen oder char myArray[256]
nur das erste Paar hält tatsächlich irgendwelche InformationenAnhänge von Zeichen-Array in String C++
myArray[0] = 'H';
myArray[1] = 'E';
myArray[2] = 'L';
myArray[3] = 'L';
myArray[4] = 'O';
myArray[5] = NULL;
myArray[6] = NULL;
// etc...
Ich will nicht unbedingt genau wissen, was in dem Array ist, aber ich will zu kopieren, was es ist, minus die null-Zeichen, um meine Puffer Zeichenfolge string buffer
dachte ich, die geeignete Art und Weise, dies zu tun, indem Sie folgendermaßen vorgehen würde:
buffer.append(myArray);
Und das Programm würde aufhören, Werte zu lesen, sobald es ein Null-Zeichen gefunden hat, aber ich sehe dieses Verhalten nicht. Ich sehe es das gesamte Array in meinem Puffer, Null-Zeichen und alle kopieren. Was wäre der richtige Weg, dies zu tun?
Edit: Einige Arbeits Code leichter
#include <string>
#include <iostream>
using namespace std;
int main()
{
string buffer;
char mychararray[256] = {NULL};
mychararray[0] = 'H';
mychararray[1] = 'e';
mychararray[2] = 'l';
mychararray[3] = 'l';
mychararray[4] = 'o';
buffer.append(mychararray);
cout << buffer << endl;
return 0;
}
einfach realisiert machen ich nicht die Null richtig und meine ursprüngliche Art und Weise funktioniert initialisiert. Entschuldige, dass du Yalls Zeit verschwendest.
Ihr "Arbeitscode" ist völlig anders. Sie vermissen den '= NULL' Teil. Welches ist es? –
@LuchianGrigore, werden alle Werte von 'mychararray' nach Index 4 nicht' NULL' sein (das ist eine echte Frage, ich bin bei C++ ziemlich unerfahren)? –
@usernametbd no - Wenn Sie möchten, dass sie 0 sind, setzen Sie sie explizit auf 0, oder tun Sie einfach: char mychararray [256] = {0}; –