Procedura
Potremmo confonderci con le funzioni di scanf () e sscanf () nella C. Questo articolo distinguerà tra queste due funzioni e ci mostrerà la sintassi e il metodo per l'implementazione del metodo sscanf () con l'aiuto di vari esempi. Continuiamo con la procedura con i seguenti passaggi:
Sintassi
Per implementare il metodo sscanf (), dobbiamo avere una presa completa sulla sintassi di questo metodo. Questa funzione prende i seguenti argomenti che dobbiamo capire completamente:
$ int sscanf (const char * string, formato const char *, [arg1, arg2,…]);
Negli argomenti del metodo sscanf (), il primo argomento è il tipo di stringa di personaggio di puntatore che funge da fonte per la funzione per recuperare i dati o, in altre parole, questo funge da buffer. Il secondo argomento è il specificatore di formato che indica il tipo di dati dei dati da allocare e l'ultimo è l'elenco degli argomenti che è uguale al metodo Scanf (). In breve, il metodo sscanf () viene utilizzato specificamente per leggere i dati dal buffer e archiviare questi dati nelle posizioni come definito nell'elenco degli argomenti, in cui ogni argomento è sollecitato a essere un puntatore per la variabile con il tipo specificato in la stringa di formato (secondo argomento).
Esempio # 01
Implementeremo un programma in questo esempio per mostrare il funzionamento di SSCanf () per leggere le corde. Per lavorare con il metodo sscanf (), dovremmo importare i seguenti file di intestazioni nei programmi.
$ # include
$ # include
Le due librerie con estensione ".h "sono rappresentati come file di intestazioni. Questa prima libreria è inclusa per utilizzare le informazioni relative alla lettura dell'input e dell'output di visualizzazione nel programma. La stringa ".H "viene utilizzato poiché questo file di intestazione gestisce la dichiarazione delle funzioni che trattano stringhe, memoria e costanti. Ora, nel principale, dichiareremo e inizializzamo una stringa di punta con il tipo di dati con il suo valore assegnato come "David Executive 39". Quindi dichiaramo le altre due stringhe con nomi, "designazione" e "nome", rispettivamente, avendo la dimensione della memoria pari a dieci "10".
Verrà anche inizializzata un'altra variabile con il tipo di dati intero e l'età del nome. Nel passaggio successivo, chiameremo il metodo Sscanf () e leggeremo i dati dalla stringa di char del tipo di punta già dichiarata e inizializzata. La stringa dichiarata "David Executive 39" ha tre diversi articoli: nome, età e designazione. Li leggeremo seguendo la stessa procedura di Scanf (), in cui leggeremo le informazioni passando il specificatore del formato per quell'informazione con il suo nome.
Ciò verrebbe fatto nell'elenco degli argomenti del metodo Sscanf () come SSCANF (stringa, " %s %s %d", nome, designazione e età), e quindi lo salveremo in qualche altra variabile con il tipo di dati come " int ". Seguendo i passaggi, abbiamo estratto le tre diverse informazioni da una stringa. Ora visualizzeremo questi tre elementi nell'output chiamando il metodo printf ().
#includere
#includere
int main ()
char* string = "David Executive 28";
Nome char [10], designazione [10];
Int Age, estratto;
estratto = sscanf (stringa, " %s %s %d", nome, designazione e età);
printf ("nome: %s \ n", nome);
printf ("designazione: %s \ n", designazione);
printf ("età: %d \ n", età);
restituzione 0;
L'output descrive che abbiamo estratto da una stringa buffer le tre informazioni e le abbiamo scritte nelle posizioni specifiche degli elenchi di argomenti come nome, designazione ed età usando il metodo SSCANF ().
Esempio # 02
Implementeremo un altro esempio per il metodo sscanf () per estrarre le stringhe dall'altra stringa. Innanzitutto, importeremo le librerie richieste, come segue:
$ # include
$ #include
$ #include
Queste librerie includeranno automaticamente le funzioni di printf, sscanf e scanf () necessarie nel programma. Nell'esempio precedente, avevamo usato la stringa di tipo char per puntatore che fungeva da buffer o fonte, in modo da poter recuperare i dati da esso. Ma, in questo esempio, dichiareremo semplicemente una stringa usando strcpy (String_name, "String"). Quindi useremo questa stringa come primo argomento del metodo sscanf () per usarlo come buffer, quindi può essere letto per estrarre le informazioni da strcpy () e memorizzata nella posizione come specificato dall'elenco degli argomenti. Una volta che le informazioni sono archiviate nelle rispettive posizioni degli argomenti utilizzando il metodo SSCanf (), mostreremo tali informazioni con nomi e specificatori di formato chiamando il metodo printf ().
#includere
#includere
#includere
int main ()
int giorno, anno;
CHAR WEAKDERS WEAKS [20], Month [20], String [100];
strcpy (stringa, "martedì 25 ottobre 2022");
sscanf (stringa, " %s %s %d %d", giorni feriali, mese e giorno e anno);
printf (" %s %d, %d = %s \ n", mese, giorno, anno, giorni feriali);
restituzione (0);
Avevamo dichiarato una stringa usando Strcpy con la stringa di nome come martedì 25 ottobre 2022 e abbiamo superato questa stringa come stringa buffer/sorgente alla funzione sscanf (), che ha estratto le informazioni, come un mese, data, anno e giorno secondo l'elenco degli argomenti. Vengono quindi visualizzate queste informazioni estratte, chiamando la funzione printf ().
Conclusione
Il metodo sscanf () viene utilizzato nel linguaggio di programmazione C per sostituire una stringa con un'altra. Per utilizzare questa funzione, si dovrebbe avere chiarezza sul concetto dell'elenco degli argomenti SSCANF (). Questo articolo spiega chiaramente il processo passo-passo, che prevede la sintassi della funzione, gli argomenti richiesti dalla funzione e dove possiamo utilizzare questa funzione per fare una buona logica per i nostri programmi software.