March 13
Il linguaggio di programmazione C non fornisce un tipo di dati stringa effettiva. In C, una stringa è emulato da una serie di caratteri che termina in NULL. Tale matrice può essere dichiarato staticamente o come un puntatore. Standard C offre 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.
1 Capire le basi. stringa di AC è 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 di meno 1" elementi. Null è equivalente a 0x00 in forma intera e '\ 0' in forma char. Gli elementi sono accessibili da parte dell'operatore "[]". Fase 2 illustra questi concetti.
2 Aggiungere la "direttiva include" di seguito per ogni file sorgente prima di utilizzare le funzioni di questo tutorial:
#include <stdio.h> |
3
Dichiarare una stringa C. Il codice seguente mostra una dichiarazione secondo il statico e il metodo puntatore:
// Dichiarazione statica char str [50] = {0}; // Modo veloce per inizializzare tutti gli elementi a 0 // Str [49] è NULL // Str ha una capacità di 48 caratteri // Dichiarazione puntatore char * pStr = NULL; // No allocazione di memoria pStr = (char *) malloc (50); // Questo è fatto da "malloc ()" |
4
Leggere dati in una stringa C utilizzando "scanf ()" che legge una serie di stringhe separate da spazi dallo standard input e li inserisce nelle indirizzi appartenenti alle variabili di riferimento appropriati, secondo un "stringa di formato":
int n; printf ( "Inserire il proprio nome e l'età:"); scanf ( "% s% d", str, & n); // printf ( "Il tuo nome è% s e si sono% d vecchio \ n", str, n); |
5
Mettere i dati in una stringa C utilizzando il "gets ()" la funzione più semplice, che legge i dati dallo standard input in solo una stringa:
printf ( "si digitare il cognome:"); gets (str); printf ( "Il tuo nome è% s \ n", str); |
6
Leggere i dati dei file in una stringa C utilizzando "fscanf ()"; questa funzione è analoga a "scanf ()":
FILE * pFile; pfile = fopen ( "myFile.txt", "r"); // Assumere il file esiste e ha i dati if (NULL! = pFile) { fscanf (pFile, "% s", str); printf ( "La prima parola nel file è% s \ n", str); fclose (pFile); } |
7
Ripetere il punto 5 con "fgets ()", che funziona allo stesso modo "ottiene ()":
FILE * pFile; pfile = fopen ( "myFile.txt", "r"); fgets (PFILE, str); printf ( "La prima parola nel file è% s \ n", str); fclose (pFile); } |