Sto provando ad afferrare i primi 8 caratteri di una stringa in C, e quello che sto facendo adesso può stampare i primi 8 caratteri, ma se la stringa è minore di 8 caratteri lunghi, ha ancora una lunghezza di 8 caratteri, che non è quello che voglio.Selezionare solo i primi caratteri in una stringa C++
string message = " ";
const char * word = holder.c_str();
for(int i = 0;i<message.length();i++)
message[i] = word[i];
Se detentore contiene "123456789abc" dopo questo codice conterrebbe "12345678." Tuttavia, se il titolare contiene "1234", dopo questo messaggio conterrà "1234____" dove i caratteri di sottolineatura sono vuoti.
Sono sicuro che c'è un modo più semplice per farlo, grazie per l'aiuto in anticipo. Inoltre, sono abbastanza sicuro che creare una stringa vuota di 8 caratteri sia una cosa piuttosto terribile da fare.
Quando dici "elimina il resto dei caratteri dalla stringa", intendi la stringa originale? Inoltre, qual è il punto degli spazi? –
Ho provato a modificare la domanda per chiarezza, era ambigua. Gli spazi erano perché se avessi usato solo string message = "" ho ricevuto un errore fuori intervallo quando ho eseguito il ciclo.Sto usando substr ora e sta funzionando. Grazie! – chrisz