Próbuję pobrać 8 pierwszych znaków ciągu znaków w C, a to, co teraz robię, może wydrukować pierwszych 8 znaków, ale jeśli ciąg znaków jest mniejszy niż 8 znaków długości, wciąż ma długość 8 znaków, co nie jest tym, czego chcę.Wybieranie tylko pierwszych kilku znaków w ciągu znaków C++
string message = " ";
const char * word = holder.c_str();
for(int i = 0;i<message.length();i++)
message[i] = word[i];
Jeżeli posiadacz zawiera "123456789abc" po tym kodzie byłoby zawierać "12345678." Jeśli jednak posiadacz zawiera "1234", po tym komunikacie będzie zawierać "1234____", gdzie podkreślenia są puste.
Jestem pewien, że jest prostszy sposób, aby to zrobić, dzięki za pomoc z góry. Jestem też całkiem pewien, że utworzenie pustego ciągu 8 znaków jest dość przerażające.
Kiedy mówisz "usuń pozostałe znaki z ciągu znaków", masz na myśli oryginalny ciąg znaków? A jaki jest sens przestrzeni? –
Próbowałem edytować pytanie dla jasności, było niejednoznaczne. Spacje były spowodowane tym, że jeśli użyłem tylko komunikatu typu string = "", wystąpił błąd poza zasięgiem, gdy przebiegłem przez pętlę.Używam substr teraz i działa. Dzięki! – chrisz