C programmeringsspråk gir ikke en faktisk streng datatype. I C , er en streng emulert av en rekke tegn som avsluttes i NULL . En slik matrise kan bli erklært statisk eller som en peker . Standard C har mange funksjoner for å manipulere tegn matriser eller C strenger . Denne artikkelen fokuserer på de funksjoner som leses fra input stream og fra filer . Følg disse tipsene for å lære å lese en streng i C. Du trenger:
C /C + + IDE eller C-kompilator Reserver på C , for eksempel " The C Programming Language " av Brian W. Kernighan
Vis flere instruksjoner
en
forstå det grunnleggende . En C streng er en rekke typer diagram. Som med alle C- matriser , er det første element som er indeksert på 0 , og den siste ved "lengde av strengen minus en . " Vanligvis kompilatoren setter NULL i siste plassering, slik at strengen kan holde " hyssing minus en " elementer . Null tilsvarer 0x00 i heltall form og '\\ 0 ' i røye skjemaet. Elements er tilgjengelige av " [ ] " operatør. Trinn 2 illustrerer disse begrepene
2
Legg til " include direktivet " nedenfor til enhver kilde filen før du bruker funksjonene i denne opplæringen : .
# Include
3
erklære en C streng. Koden nedenfor viser en erklæring ved hjelp av statiske og pekeren metode : Twitter //static erklæring
røye str [ 50 ] = { 0 } , //forkortelse måte slik at alle elementer til 0 Twitter //str [ 49 ] er NULL Twitter //str har kapasitet til 48 tegn
//erklæring av pekeren
char * pStr = NULL ; //ingen hukommelse tildeling
pStr = ( char * ) malloc ( 50 ), //dette er gjort av " malloc ( )"
4
Les data inn i en C streng med " scanf ( ) ", som leser en rekke strenger atskilt av plass fra standard input og plasserer dem i adressene som tilhører de aktuelle referanse variabler , ifølge en "format streng" : en int n; printf ("Skriv inn ditt fornavn og alder: ");
scanf ( "% s% d" , str, & n ), //
printf ( " Ditt navn er % s og du er % d gamle \\ n" , str, n ) ;
5
Sett data inn i en C streng med enklere " gets ( )" -funksjonen, som leser data fra standard input til en streng bare : en printf ("Skriv deg Etternavn : ");
får (str ) ;
printf ( " Ditt navn er % s \\ n " , str ) ;
6
Les fildata til en C streng med" fscanf ( ) "; denne funksjonen er analogt til " scanf ( ) " : en fIL * pFile ;
pFile = fopen ( " MINFIL.TXT " , "r "); //antar at filen finnes, og har data
if ( ! NULL = pFile ) {
fscanf ( pFile , "% s" , str ) ;
printf (" det første ordet i filen er % s \\ n" , str ) ;
fclose ( pFile ) ;
}
7
Gjenta trinn 5 med " fgets ( ) ", som fungerer på samme måte som" gets ( ) " :
FILE * pFile ;
pFile = fopen ( " MINFIL.TXT " , " r "); if ( ! NULL = pFile ) {
fgets ( pFile , str ) ;
printf (" det første ordet i filen er % s \\ n" , str ) ;
fclose ( pFile ) ;
}