Il linguaggio di programmazione C non fornisce un tipo effettivo di dati stringa . In C , una stringa è emulato da un array di caratteri che termina con NULL . Tale array può essere dichiarato statico o come un puntatore . Standard C fornisce molte funzioni per manipolare array di caratteri o stringhe C . Questo articolo si concentra sulle funzioni che leggono dal flusso di input e da file . Seguire questi suggerimenti per imparare a leggere una stringa in C. Le cose che ti serviranno
C /C + + IDE o compilatore C
Prenota su C , come ad esempio " The C Programming Language " di Brian W. Kernighan
Mostra più istruzioni
1
capire le basi. Una stringa C è una matrice di tipo grafico . Come con tutti matrici C , il primo elemento è indicizzato a 0 , e l'ultima alle " lunghezza della stringa meno 1 . " Di solito , il compilatore inserisce NULL in ultima posizione , quindi la stringa può contenere " lunghezza della stringa meno 1 " elementi . Null equivale a 0x00 in forma intera e '\\ 0' in forma char . Gli elementi sono accessibili tramite l'operatore " [ ] " . Fase 2 illustra questi concetti
2
Aggiungi la " direttiva di inclusione " di seguito per ogni file sorgente prima di utilizzare le funzioni di questo tutorial: .
# Include
3
dichiarare una stringa C . Il codice seguente mostra una dichiarazione secondo la statica e il metodo di puntatore :
//static dichiarazione
char str [ 50 ] = { 0 } ; //scorciatoia modo per inizializzare tutti gli elementi a 0
//str [ 49 ] è NULL
//str num 48 caratteri
//dichiarazione di puntatore
char * Pstr = NULL; //senza memoria allocazione
Pstr = ( char * ) malloc ( 50 ) ; //questo è fatto da " malloc ( ) "
4
leggere i dati in una stringa C utilizzando " scanf ( ) ", che legge una serie di stringhe separate da spazi dallo standard input e li inserisce in l' indirizzi appartenenti alle variabili di riferimento appropriati , in base ad un " stringa di formato " :
int n; printf ( "Inserisci il tuo nome e età: ");
scanf ( "% s % d" , str , & n) ; //Games printf ( "Il tuo nome è % s e si sono % d vecchio \\ n" , str , n) ;
5
Mettere i dati in una stringa C utilizzando il semplice " gets ( ) " la funzione , che legge i dati da standard input in una stringa unica :
printf ( "Inserire ti Cognome : " ) ;
gets ( str) ;
printf ( " il tuo nome è % s \\ n " , str) ; Pagina 6
leggere i dati dei file in una stringa C utilizzando " fscanf ( ) "; questa funzione è analoga a" scanf ( ) " :
FILE * pFile ; < br > pFile = fopen ( " myFile.txt " , " r" ) ; //assume il file esiste e ha
dati if ( ! NULL = pFile ) {
fscanf ( pFile , "% s" , str ) ,
printf (" la prima parola nel file è% s \\ n" , str) ;
fclose ( pFile ) ; }
7
Ripetere il passaggio 5 con " fgets ( ) ", che funziona allo stesso modo " gets ( ) " :
FILE * pfile ;
pFile = fopen ( " myFile.txt " , " r " ) ; if ( ! NULL = pFile ) {
fgets ( pFile , str) ;
printf (" la prima parola nel file è% s \\ n" , str) ;
fclose ( pFile ) ; }