Ich versuche, die ersten 8 Zeichen einer Zeichenfolge in C abzurufen, und was ich gerade mache, kann die ersten 8 Zeichen drucken, aber wenn die Zeichenfolge kleiner als 8 ist Zeichen lang, es hat immer noch eine Länge von 8 Zeichen, was nicht das ist, was ich will.Auswählen nur der ersten paar Zeichen in einer Zeichenfolge C++
string message = " ";
const char * word = holder.c_str();
for(int i = 0;i<message.length();i++)
message[i] = word[i];
Wenn Halter "123456789abc" nach diesem Code enthalten wäre es enthält "12345678" Wenn der Inhaber jedoch "1234" enthält, enthält diese Nachricht "1234____", wenn die Unterstriche leer sind.
Ich bin sicher, es gibt einen einfacheren Weg, dies zu tun, danke für die Hilfe im Voraus. Außerdem bin ich mir ziemlich sicher, dass das Erstellen einer leeren Folge von 8 Zeichen eine ziemlich schreckliche Sache ist.
Wenn Sie sagen, löschen Sie den Rest der Zeichen aus der Zeichenfolge, meinen Sie die ursprüngliche Zeichenfolge? Was ist der Sinn der Räume? –
Ich habe versucht, die Frage für die Klarheit zu bearbeiten, es war mehrdeutig. Die Leerzeichen waren, weil, wenn ich nur string message = "" benutzte, ein Fehler außerhalb des Bereichs erhalten wurde, als ich durch die Schleife lief.Ich benutze jetzt substr und es funktioniert. Vielen Dank! – chrisz