Come leggere una stringa in C

Come leggere una stringa in C. Il linguaggio di programmazione C non fornisce un tipo di dati stringa effettivo. In C, una stringa viene emulata da un array di caratteri che termina con NULL. Tale array può essere dichiarato staticamente o come puntatore. Il C standard fornisce molte funzioni per manipolare gli array di caratteri o le stringhe C. Questo articolo si concentra sulle funzioni che leggono dal flusso di input e dai file. Segui questi suggerimenti per imparare a leggere una stringa in C.

Passo 1

Comprendi le basi. Una stringa C è una matrice di tipo grafico. Come con tutti gli array C, il primo elemento è indicizzato a 0 e l'ultimo a "lunghezza della stringa meno 1". Di solito, il compilatore inserisce NULL nell'ultima posizione, quindi la stringa può contenere "lunghezza della stringa meno 1" elementi. Null è equivalente a 0x00 in formato intero e '\0' in formato char. Gli elementi sono accessibili dall'operatore "[]". Il passaggio 2 illustra questi concetti.

Video del giorno

Passo 2

Aggiungi la "direttiva include" di seguito a qualsiasi file sorgente prima di utilizzare le funzioni di questo tutorial:

#include < stdio.h >

Passaggio 3

Dichiara una stringa C. Il codice seguente mostra una dichiarazione che utilizza il metodo statico e il puntatore:

// dichiarazione statica char str[50] = {0}; // modo abbreviato per inizializzare tutti gli elementi su 0 // str[49] è NULL // str ha una capacità di 48 caratteri // dichiarazione per carattere puntatore pStr = NULL; // nessuna allocazione di memoria pStr = (char)malloc (50); // questo viene fatto da "malloc()"

Passaggio 4

Leggi i dati in una stringa C usando "scanf()", che legge una serie di stringhe separate da spazio dallo standard input e li inserisce negli indirizzi appartenenti alle opportune variabili di riferimento, secondo un "formato" corda":

int n; printf("Inserisci il tuo nome ed età: "); scanf("%s%d", str, &n); // printf("Il tuo nome è %se sei %d vecchio\n", str, n);

Passaggio 5

Inserisci i dati in una stringa C usando la più semplice funzione "gets()", che legge i dati dall'input standard solo in una stringa:

printf("Inserisci il tuo cognome: "); ottiene (str); printf("Il tuo nome è %s\n", str);

Passaggio 6

Leggere i dati del file in una stringa C usando "fscanf()"; questa funzione è analoga a "scanf()":

FILE* pFile; pFile = fopen("mioFile.txt", "r"); // presumo che il file esista e contenga dati if (NULL != pFile) { fscanf (pFile, "%s", str); printf("La prima parola nel file è %s\n", str); fclose (pFile); }

Passaggio 7

Ripeti il ​​passaggio 5 usando "fgets()", che funziona come "gets()":

FILE* pFile; pFile = fopen("mioFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("La prima parola nel file è %s\n", str); fclose (pFile); }

Cose di cui avrai bisogno

  • C/C++ IDE o compilatore C

  • Prenota su C, come "The C Programming Language" di Brian W. Kernighan

Consiglio

Per ulteriori informazioni sulle funzioni menzionate, visitare il sito Web di C Plus Plus.

Avvertimento

Non provare a compilare questo codice. Ha solo lo scopo di dimostrare le funzioni. Non è un programma coerente e darà errori quando compilato.