C- programmeringssprog giver ikke en faktiske strengen datatype. I C er en streng emuleret af en række af tegn, der ender i NUL . Sådan en matrix kan erklæres statisk eller som en pointer. Standard C indeholder mange funktioner til at manipulere tegndatatabeller eller C- strenge. Denne artikel fokuserer på de funktioner, der læses fra input stream og fra filer. Følg disse tips til at lære at læse en streng i C. Du skal bruge
C /C + + IDE eller C compiler
Bog om C , såsom " The C Programming Language" af Brian W. Kernighan < br >
Vis Flere Instruktioner
1
forstå det grundlæggende . En C- streng er et array af typen diagram . Som med alle C arrays , er det første element indekseret på 0, og den sidste på "længde af strengen minus 1 ". Normalt , compileren indsætter NULL i sidste placering, så strengen kan holde " Længden af strengen minus 1" elementer. Null svarer til 0x00 i heltal form og '\\ 0 ' i char formular. Elementer er tilgængelige for " [ ] " operatør . Trin 2 illustrerer disse begreber
2
Tilføj " omfatter direktivet " nedenfor for enhver kildefil før du bruger funktionerne i denne tutorial : .
# Include
3
erklære en C- streng . Koden nedenfor viser en erklæring efter den statiske og markøren metoden : Hej //statisk erklæring
char str [50] = { 0} //forkortet måde at initialisere alle elementer til 0
//str [49] er NULL
//str har plads til 48 tegn
//erklæring af pointer
char * pStr = NULL //ingen hukommelse tildeling
pStr = ( char * ) malloc (50 ) //dette gøres med " malloc () "
4
Læs data i et C- streng ved hjælp af " scanf () ", der lyder en række strenge adskilt af plads fra standard input og placerer dem i de adresser , der tilhører de relevante referencevariabler , ifølge en " format string" : Hej int n , printf ("Indtast dit fornavn og alder :");
scanf ( "% s % d " , str, & n ) //
printf (" Dit navn er % s og du er % d old \\ n" , str, n ),
5
Put data i et C- streng ved hjælp af enklere "får ()" funktion, som læser data fra standard input til en streng kun : Hej printf (" Indtast din Efternavn :");
får ( str. ),
printf (" Dit navn er % s \\ n " , str. ),
6
læse filen data i en C- streng ved hjælp af" fscanf ( ) " funktionen er analog med " scanf () " : Hej FILE * pFile ; < br > pFile = fopen ( " myfile.txt ", " r" ) //påtage filen eksisterer og har data
if (! NULL = pFile ) {
fscanf ( pFile , "% s" , str. ) ;
printf (" det første ord i filen er % s \\ n" , str. ),
fclose ( pFile )
}
7
Gentag trin 5 ved hjælp af " fgets () ", som fungerer på samme måde som " får () " :
FIL * pFile ,
pFile = fopen ( " myfile.txt " , " r "); if (! NULL = pFile ) {
fgets ( pFile , str. ),
printf (" det første ord i filen er % s \\ n" , str. ),
fclose ( pFile )
}
< br >