Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Lunghezza della stringa senza Costruito nella funzione in C + +

Normalmente , un programmatore può recuperare la lunghezza di una frase ( o una stringa ) in qualsiasi " lunghezza ( ) " della stringa metodo C + + programma di chiamate. Tuttavia, le stringhe come implementati in C + + non erano sempre disponibili , ed i programmatori non hanno avuto accesso a metodi già pronti come la lunghezza ( ) . Contando la lunghezza di una stringa senza usare questo costruito nel metodo comporta stringa di comprensione , array di caratteri in stile C , e come scorrere su di loro . C + + e C Stringhe Stringhe

In C + + , il built-in tipo di dati " stringa " rappresenta frasi , frasi o parole. Tuttavia, il tipo di dati String rappresenta in realtà ciò che i programmatori chiamano una stringa " c -style" . Nella lingua originale di C , i programmatori memorizzati frasi come collezioni (o array ) di caratteri. Così, mentre in C + + , una dichiarazione di variabile frase assomiglia :

string str = " Ciao " ;

in C , la stessa dichiarazione si presenta come :

char str [ 50 ] = " Ciao " ;

Dove " str " rappresenta un array di 50 caratteri. Inoltre , dal momento che le stringhe in stile C sono semplicemente array , tutti finiscono con un carattere di terminazione Null ( " \\ 0" ), che indica la fine della stringa .
Il " c_str ( ) " Metodo

la cosa interessante di stringhe in C + + è che sono una classe , e come classe contiene i metodi per fare il lavoro sulla corda . Uno di questi metodi ( " c_str ( ) ") restituisce una stringa in stile C che rappresenta la stringa C + + . Ciò significa che il valore di ritorno finirà come un array di caratteri che contiene i caratteri della stringa , incluso il carattere di terminazione null.
Copia C String
il

per fare effettivamente qualcosa con la stringa di C - stile recuperato da c_str ( ) , il programmatore ha bisogno di metterlo in un array di caratteri . Ciò richiede il metodo " strcpy ", che copiare un array di caratteri a un altro :

# include

# include

# include < ; iostream >

using namespace std;

string str = " Una stringa " ;

char str2 [ 50 ] ;

strcpy ( str2 , str . c_str ( ) ) per

Ora , la rappresentazione di stringa C - stile di " str " copierà nella matrice di carattere " str2 " ( tra cui null- carattere) .
conteggio del personaggi

Ora che il programmatore ha una copia matrice della stringa , compreso il carattere nullo che informerà il programmatore quando la stringa finisce , diventa una questione di caratteri semplicemente contando fino a quando il programma colpisce il nulla carattere :

int i = 0;

while (! str2 [ i] = " \\ 0 " ) {

i + + Commercio

}

cout << i + 1 ;

il ciclo "while" controlla ogni personaggio fin dall'inizio ( la posizione del carattere 0 ) fino a raggiungere il carattere null . Poi , il programma stampa i +1 ( perché l'indice inizia da 0 , e la posizione del carattere nullo non viene conteggiato ) che si traduce in un valore di ritorno di 8 .

 

Programmazione © www.354353.com