programmeringsspråket C ger inte en verklig sträng datatyp . I C , är en sträng emuleras av en rad tecken som slutar i NULL. En sådan grupp kan förklaras statiskt eller som en pekare . Standard C erbjuder många funktioner för att manipulera tecken arrayer eller strängar C . Denna artikel fokuserar på de funktioner som läser från den ingående strömmen och från filer . Följ dessa tips för att lära sig läsa en sträng i C. Saker du behöver
C /C + + IDE eller C-kompilator
bok om C , såsom " The C Programming Language " av Brian W. Kernighan
Visa fler instruktioner
1
förstå grunderna . En C- sträng är en array av typen diagram . Som med alla C- arrayer , är det första elementet indexeras på 0 , och den sista på " längden av strängen minus 1 . " Vanligtvis kompilatorn infogar NULL i sista platsen , så strängen kan hålla " längd på sträng minus 1 " element . Null motsvarar 0x00 i heltal formen och ' \\ 0 ' i röding formen . Elements är tillgängliga för " [ ] " operatör . Steg 2 illustrerar dessa begrepp
2
Lägg till " inkluderar direktivet " nedan för varje källfilen innan du använder funktionerna i den här guiden : .
# Include
3
deklarera en C sträng. Koden nedan visar en försäkran på den statiska och pekaren metoden : Twitter //statisk deklaration
char str [ 50 ] = { 0 } , //stenografi sätt att initiera alla element till 0 kommenterar: //str [ 49 ] är NULL Twitter //str har kapacitet för 48 tecken
//deklaration av pekare
char * PSTR = null; //ingen minnesallokering
PSTR = ( char * ) malloc ( 50 ) , //detta görs genom " malloc ( ) "
4
Läs data i en C- sträng med " scanf ( ) , " som läser en serie av strängar separerade med mellanslag från standard input och placerar dem i de adresser som hör till de lämpliga referensvariabler , enligt en " format string " :
int n; printf ( " Skriv in ditt förnamn och Ålder : " ) ;
scanf ( " % s % d " , str , & N ) , //
printf ( " Ditt namn är % s och du är % d gamla \\ n " , str , n ) ;
5
placera data i en C- sträng med hjälp av enklare " blir ( ) " -funktion , som läser data från standard in till en sträng endast :
printf ( " Skriv in dig Efternamn : " ) ;
får ( str ) ;
printf ( " Ditt namn är % s \\ n " , str ) ;
6
läsa filen data i en C- sträng med " fscanf ( ) " , denna funktion är analog med " scanf ( ) " :
FILE * pFile ;
pFile = fopen ( " minfil.txt " , " r " ) , //ta filen finns och har data
if ( ! NULL = pFile ) {
fscanf ( pFile , " % s " , str ) ;
printf ( " det första ordet i filen är % s \\ n " , str ) ;
fclose ( pFile ) ,
}
7
Upprepa steg 5 med " fgets ( ) ", som fungerar på samma sätt " får ( ) " :
FILE * pFile ;
pFile = fopen ( " minfil.txt " , " r "); if (! NULL = pFile ) {
fgets ( pFile , str ) ;
printf ( " det första ordet i filen är % s \\ n " , str ) ;
fclose ( pFile ) ,
}