Die Programmiersprache C bietet keinen tatsächlichen Datentyp String . In C ist eine Zeichenfolge, die von einer Reihe von Zeichen, die in NULL endet emuliert. Ein solches Array kann statisch oder als Zeiger deklariert werden. Standard-C bietet viele Funktionen , um Zeichen-Arrays oder C-Strings zu manipulieren. Dieser Artikel konzentriert sich auf die Funktionen , die von der Input-Stream und aus Dateien zu lesen. Befolgen Sie diese Tipps , um zu lernen , wie man einen String in C Was Sie brauchen gelesen
C /C + + IDE oder C-Compiler
Book on C , wie "The C Programming Language " von Brian W. Kernighan
anzeigen Weitere Anweisungen
1
Verstehen Sie die Grundlagen. Ein C-String ist ein Array vom Typ Diagramm. Wie bei allen C -Arrays , wird das erste Element bei 0 indiziert , und der letzte um " die Länge der Zeichenfolge minus 1". Üblicherweise fügt der Compiler NULL an der letzten Position , so dass die Zeichenkette kann " die Länge der Zeichenfolge minus 1 "-Elementen . Null entspricht 0x00 in Form und integer '\\ 0' in char Form . Die Elemente werden durch die "[]" Operator abgerufen. Schritt 2 veranschaulicht diese Konzepte
2
Fügen Sie das " include-Direktive " unter jedem Quelldatei , bevor Sie die Funktionen dieses Tutorial : .
# Include
3
Deklariert einen C-String . Der folgende Code zeigt eine Erklärung mit der statischen und der Zeiger Methode : Twitter //static Erklärung
char str [50] = {0} ; //Kurzform , um alle Elemente auf 0 Twitter //str initialisieren [ 49] ist NULL Twitter //str bietet Platz für 48 Zeichen Twitter //Deklaration von pointer
char * pStr = NULL; //kein Speicherzuweisung
pStr = (char *) malloc ( 50 ); //wird dies durch " malloc () " getan
4
Lesen von Daten in ein C-String mit " scanf () ", die eine Reihe von Zeichenketten, die Leerzeichen aus der Standard-Eingabe liest getrennt und legt sie in die Adressen , die zu den entsprechenden Bezugsgrößen , nach einem " Format-String ":
int n; printf (" Geben Sie Ihren Vornamen und Alter :");
scanf ( "% s % d", str, & n) ; //Tablet printf (" Ihr Name ist % s und Sie sind % d alt \\ n" , str , n) ;
5
Put Daten in ein C-String mit den einfacheren " gets () "-Funktion , die die Daten von der Standard-Eingabe liest in einen String nur :
printf ("Geben Sie Nachname :");
bekommt (str) ;
printf (" Ihr Name ist % s \\ n ", str) ; Seite 6
Datei lesen Daten in einen C-String mit " fscanf ( ) "; diese Funktion ist analog zu " scanf () ":
fILE * pFile ;
pFile = fopen (" myFile.txt ", " r"); //übernehmen die Datei existiert und hat Daten
if (! NULL = pFile ) {
fscanf ( pFile , "% s" , str ) ;
printf (" das erste Wort in der Datei % s \\ n", str) ;
fclose ( pFile ); }
Seite 7
Wiederholen Sie Schritt 5 mit " fgets ( ) , gets () ", die die gleiche wie funktioniert " ":
FILE * pFile ;
pFile = fopen (" myFile.txt "," r "); if (! NULL = pFile ) { fgets
( pFile , str );
printf (" das erste Wort in der Datei % s \\ n", str) ;
fclose ( pFile ); }