Nwlapcug.com


Come leggere una stringa in C

Il linguaggio di programmazione C non fornisce un tipo di dati stringa effettiva. In C, una stringa viene emulata da una matrice di caratteri che termina in NULL. Tale matrice può essere dichiarato in modo statico o come un puntatore. C standard fornisce molte funzioni per manipolare matrici di caratteri o stringhe C. Questo articolo si concentra sulle funzioni che leggere dal flusso di input e da file. Seguire questi suggerimenti per imparare a leggere una stringa in C.

Istruzioni

1

Capire le basi. Una stringa C è una matrice del tipo di grafico. Come con tutte le matrici di C, il primo elemento è indicizzato a 0 e l'ultima alle "lunghezza di stringa meno 1". Di solito, il compilatore inserisce NULL nell'ultima posizione, quindi la stringa può contenere elementi di "lunghezza di stringa meno 1". Null è equivalente a 0x00 in forma di numero intero e '\0' in forma di char. Gli elementi sono accessibili da parte dell'operatore "[]". Passo 2 illustra questi concetti.

2

Aggiungere la "direttiva includono" di sotto di qualsiasi file di origine prima di utilizzare le funzioni di questo tutorial:


#include

3

Dichiarare una stringa C. Il codice riportato di seguito viene illustrata una dichiarazione utilizzando il metodo statico e il metodo di puntatore:


dichiarazione statica

char str [50] = {0}; senso di shorthand per inizializzare tutti gli elementi a 0

Str [49] è NULL

Str ha una capacità di 48 caratteri

Dichiarazione di puntatore

char * pStr = NULL; nessuna allocazione della memoria

pStr = (char*)malloc(50); Questo è fatto da "malloc ()"

4

Leggere i dati in una stringa C utilizzando "scanf ()", che legge una serie di stringhe separate da spazio dallo standard input e li colloca negli indirizzi appartenenti alle variabili di riferimento appropriato, secondo una "stringa di formato":


int n;
printf ("Inserisci il tuo nome ed età:");

scanf ("%s %d", str & n); //

printf ("il tuo nome è %s e sei %d old\n", str, n);

5

Inserire dati in una stringa C utilizzando la semplice funzione "Gets ()", che legge i dati dallo standard input in una stringa solo:


printf ("inserire cognome:");

Gets(STR);

printf ("il tuo nome è %s\n", str);

6

Leggere file di dati in una stringa di C utilizzando "fscanf ()"; Questa funzione è analoga a "scanf ()":


FILE * pFile;

pFile = fopen ("MyFile. txt", "r"); si supponga il file esiste e dispone di dati

Se (NULL! = pFile) {

fscanf (pFile, "%s", str);

printf ("la prima parola nel file è %s\n", str);

fclose(Pfile);

}

7

Ripetere il passaggio 5 utilizzando "fgets ()," che funziona allo stesso modo "Gets ()":


FILE * pFile;

pFile = fopen ("MyFile. txt", "r");
Se (NULL! = pFile) {

fgets (pFile, str);

printf ("la prima parola nel file è %s\n", str);

fclose(Pfile);

}

Consigli & Avvertenze

  • Per ulteriori informazioni sulle funzioni menzionate, visitare il sito Web C Plus Plus.
  • Non provare a compilare il codice. Esso è solo destinata ad illustrare le funzioni. Non è un programma coerente e darà errori quando viene compilato.