Come leggere una stringa in C

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.

istruzione

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");
if (NULL! = pFile) {

fgets (PFILE, str);

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

fclose (pFile);

}

Consigli e avvertenze

  • Per ulteriori informazioni sulle funzioni citate, visitare il sito web C Plus Plus.
  • Non cercare di compilare il codice. E 'il solo scopo di dimostrare le funzioni. Non è un programma coerente e darà errori quando compilato.