L'uso del metodo FSCANF in C

L'uso del metodo FSCANF in C
Il metodo fscanf () in c viene utilizzato per leggere i dati da qualsiasi file. Questa funzione legge dal flusso di dati o, più precisamente, estrae una raccolta di caratteri da un file. Inoltre, questo metodo legge il percorso in formato byte, analizza i dati secondo il formato e mantiene la configurazione nel loro parametro per l'output. Interpreta da un file che contiene anche un riferimento, i.e., Un puntatore del file, che gli consente di recuperare una parte specifica del file anziché l'intero flusso. Diamo uno sguardo più profondo alla funzione fscanf ():

Accedi ai dati personalizzati da un flusso:

Qui, prendiamo i dati dal flusso e li salviamo nelle posizioni specificate dai diversi parametri, secondo la specifica dell'argomento. I parametri successivi possono essere riferiti agli elementi della categoria forniti dall'identificatore di formattazione appropriato nella stringa di formato che è già stata creata.

In questo caso, stiamo creando un file specifico e recuperando il nome e il colore del frutto. Abbiamo un file chiamato "file.txt "che avremo formato, come mostrato di seguito:

#includere
int main ()

File *fpointer;
char fn [20];
Char Clr [20];
fpointer = fopen ("file.txt "," w+");
if (fpointer == null)

printf ("file non trovato. \N");
restituzione 0;

printf ("Nome della frutta \ n");
scanf ("%s", fn);
fprintf (fpointer, "name frutta = %s \ n", fn);
printf ("colore della frutta \ n");
scanf ("%s", clr);
fprintf (fPointer, "Fruit Color = %s \ n", clr);
fclose (fpointer);

Dobbiamo integrare il file di intestazione #include nonostante abbia lavorato con fscanf (). Se non includiamo questo file di intestazione, otteniamo l'errore. Ora inizializziamo il metodo principale (). Possiamo iniziare la programmazione all'interno del corpo di questa funzione.

Innanzitutto, creiamo un costruttore "fpointer" per il file. Inoltre, dichiariamo due variabili, "FN" e "CLR", con caratteri di tipo di dati. Utilizziamo la funzione fopen () per aprire il file definito. Successivamente, applichiamo la condizione if. Se il file definito non è presente nel sistema, la funzione printf () stampa "file non trovato".

Oltre a ciò, abbiamo applicato funzioni diverse per scopi diversi. Utilizziamo la funzione scanf (). Questa funzione legge il nome del frutto dal file specificato. Quindi, la funzione fprintf () viene utilizzata per stampare il "nome di frutta" e memorizzata nella variabile "FN". Allo stesso modo, abbiamo nuovamente utilizzato il metodo scanf () per ottenere il colore del frutto dal file. Questa funzione fprintf () viene anche applicata per stampare il "colore della frutta". Ora, il valore del colore è memorizzato nella sua variabile "CLR". Alla fine, dichiariamo la funzione fclose () per chiudere il file definito.

Converti il ​​numero esadecimale in numero decimale:

Il metodo fscanf () fornisce il numero di elementi di input accuratamente abbinati e allocati. Le transizioni che sono state fatte ma forse non delegate non sono mai incluse nel valore risultante. Un intero esadecimale viene utilizzato come input per un identificatore di trasformazione %X, come previsto di seguito:

#includere
int main (vuoto)

int num;
printf ("Immettere un numero esadecimale: \ n");
while (scanf ("%x" e num))

printf ("numero esadecimale = %x \ n", num);
printf ("numero decimale = %d \ n", num);

Dopo aver introdotto il file di intestazione, definiamo la funzione principale (). Nel passaggio successivo, inizializziamo una variabile denominata "num", che ha un numero intero di dati all'interno del corpo della funzione principale (). La funzione printf () viene applicata per ottenere qualsiasi numero esadecimale dall'utente. Quindi, utilizziamo il ciclo while. Questo ciclo termina se il numero immesso non è un numero esadecimale. Nel frattempo, impieghiamo il metodo scanf (), che converte il numero esadecimale in un numero decimale. Il segno percentuale (%) e il numero immesso vengono passati come parametri al metodo scanf ().

Qui, il simbolo percentuale (%) fornisce requisiti di conversione. Questo identificatore di conversione istruisce la funzione scanf () su come leggere e trasformare i caratteri dall'input in dati di stringa di formato di conversione. Nell'elenco dei parametri, il valore viene assegnato a una delle variabili. Il metodo scanf () legge il file specificato da sinistra a destra. Sono previste parole al di fuori dei parametri di conversione per regolare la stringa di caratteri del flusso di input; mentre le lettere pertinenti nel file di input vengono analizzate ma non salvate.

La funzione termina con un errore "identico" se una parola nel flusso di input contraddice il file. Se la parola contraddittoria potrebbe non essere stata letta, viene lasciata nel flusso di dati. Applichiamo nuovamente il metodo printf () per stampare un numero esadecimale e un numero decimale. Questi numeri sono memorizzati nella variabile "num". come mostrato di seguito:

Ottieni il nome e lo stato del dipendente:

In questo caso, leggeremo i dati dei dipendenti da un file. Quindi, ottieni il nome e lo stato del dipendente:

#includere
int main ()

File *fpointer;
char empname [30];
Stato Char [30];
fpointer = fopen ("file.txt "," w+");
if (fpointer == null)

printf ("Il file non è trovato. \N");
restituzione 0;

printf ("nome dipendente \ n");
scanf ("%s", empname);
fprintf (fpointer, "name = %s \ n", empname);
printf ("stato del dipendente \ n");
scanf ("%s", stato);
fprintf (fpointer, "status = %s \ n", status);
fclose (fpointer);

Prima di scrivere il codice nel corpo della funzione principale (), dobbiamo includere il file di intestazione . Questo file di intestazione è richiesto sia per l'input che per l'output. La funzione principale () è ora inizializzata e facciamo un puntatore per il file.

Inoltre, definiamo le variabili del tipo di dati a due caratteri, "EmpName" e "Stato". Per accedere al file richiesto, stiamo utilizzando il metodo fopen (). Nel frattempo, il percorso e la modalità del file sono forniti come argomenti alla funzione fopen (). Quindi, usiamo la condizione IF. Il comando printf () stampa "file non trovato" se il file definito non è disponibile.

Inoltre, viene applicato il metodo scanf (). Il nome del dipendente viene recuperato da quel file specificato usando questa funzione. Successivamente, la funzione fprintf () viene utilizzata per mostrare il "nome del dipendente", che viene salvato nella variabile "empname". Allo stesso modo, abbiamo utilizzato la funzione scanf () per acquisire lo stato del dipendente dal file. Il metodo fprintf () verrà anche utilizzato per visualizzare lo "stato dei dipendenti". Questo verrà salvato nella variabile "status".

Infine, definiamo il metodo fclose (), che chiuderà il file definito.

Conclusione:

In questo articolo, abbiamo discusso del processo del metodo fscanf () in c. Abbiamo utilizzato il metodo fscanf () per estrarre informazioni da un file. Di solito contiene due argomenti flussi e formati. Esploriamo anche modi per implementare questa funzione. Questa funzione è particolarmente utile quando dobbiamo leggere solo informazioni particolari da un file e non l'intero flusso. Possiamo convertire il valore esadecimale in valore decimale usando questa funzione. Speriamo che tu abbia trovato questo articolo utile. Controlla gli altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.