Come utilizzare la chiamata di sistema LSEEK in C

Come utilizzare la chiamata di sistema LSEEK in C

La chiamata di sistema LSEEK è stata utilizzata per leggere alcuni caratteri o dati specifici da un file o per scrivere alcuni contenuti nella posizione specifica di qualsiasi file. Ciò significa che puoi leggere o scrivere tra il contenuto di un file.

Sintassi:

Off_t lseek (int fd, off_t offset, int da dove);

Questa chiamata di sistema "LSEEK" richiede due file di intestazione, E.G., “Sys/tipi.h "e" unistd.H". La chiamata di sistema LSEEK richiede tre parametri. Il primo è "FD", che è un descrittore di file. Il secondo è "offset", usato per posizionare il puntatore. E il terzo parametro, "da dove" viene utilizzato per specificare la posizione di un puntatore del file, E.G., Inizio, fine, metà.

Installa manpaagi:

Per verificare le informazioni extra relative alle chiamate di sistema, è necessario installare il pacchetto MANPAGES-DEV. Quindi prova a lanciare il terminale di shell Linux utilizzando il tasto di scelta rapida Ctrl+ Alt+ T o cercalo dall'area di attività. Dopo aver lanciato correttamente il terminale di comando, eseguire la query di installazione APT di seguito per installare la libreria di manpages-dev. Richiede che il passcode dell'account corrente procede con l'installazione. Immettere la password e toccare la chiave Invio dalla macchina da scrivere. Il processo di installazione verrà avviato e inizierà a raccogliere informazioni.

$ sudo apt install manpages-dev

Il processo di installazione ti farà aspettare un po 'di tempo. Al termine dell'installazione, ora puoi controllare le informazioni relative al comando "LSEEK". Quindi, scrivi il comando "Man 2" di seguito insieme al nome della chiamata di sistema. Come puoi vedere, abbiamo verificato "LSEEK" nelle istruzioni seguenti.

$ man 2 lseek

La pagina del sistema di Man per la chiamata di sistema "LSEEK" è stata aperta di seguito. Puoi ottenere tutte le informazioni al riguardo.

Installa il compilatore GCC:

Ora è il momento per noi di installare il compilatore GCC per la compilazione di file di lingua C. Quindi, è necessario utilizzare un comando APT Installa molto semplice nella shell per installarlo durante l'utilizzo dell'estensione del compilatore come nome della parola chiave di seguito.

$ sudo APT Installa GCC

Ci vorrà il tuo poco tempo per fare la sua installazione. Dopo aver installato il pacchetto GCC, il sistema Linux è pronto per utilizzare i file di lingua C in esso.

Esempio 01:

Prima di andare in profondità per comprendere il concetto della chiamata del sistema LSEEK, devi avviarlo con un semplice tipo di file. Quindi, avvia il terminale e prova il comando touch di seguito per creare un semplice file chiamato "cerca" nella home directory della distribuzione di Linux.

$ touch Seek

Aggiungi alcuni dati nel file "cerca" e salvalo. È possibile vedere il contenuto di "cerca" del file nella shell della riga di comando usando la semplice query "Cat" di seguito. Il contenuto di un file ha alcuni alfabeti e numeri insieme al segno "*".

$ CAT SEEK

Creiamo un file di tipo C “Test.C "Utilizzo della parola chiave Nano per aprirla direttamente con il nano editor. Prova ad eseguire il comando seguente per farlo.

$ nano test.C

Controlliamo un programma senza il comando LSEEK. Aprirà un editor di testo nano con un file di tipo C menzionato nella parte superiore. Ora scrivi il codice di seguito dall'immagine nel file editor C. Le prime 4 righe contengono i file di intestazione necessari per implementare il comando "LSEEK". Successivamente, la funzione principale è stata avviata. In questo metodo principale, abbiamo definito i dati interi e tipi di caratteri per un ulteriore utilizzo. La terza riga della funzione principale è stata utilizzata la chiamata aperta per aprire un file chiamato "Seek", che abbiamo appena creato sopra e l'offset "O_rdwr" è stato utilizzato per le autorizzazioni di lettura e scrittura. Il contenuto del file è stato restituito al descrittore del file "F". Dopo questo, abbiamo utilizzato la prima chiamata del metodo di lettura per leggere i dati di 12 caratteri dal file di ricerca. La funzione di scrittura è stata utilizzata per scrivere dati nello schermo. Un altro comando di lettura è stato utilizzato per ottenere i prossimi 12 caratteri dal descrittore di file "F" e il comando di scrittura sta leggendo i prossimi 12 caratteri nella schermata di output. Da questo, possiamo supporre che l'output mostrerà un totale di 24 caratteri dal file "cerca". Premere Ctrl+S per salvare questo file e provare Ctrl+X per chiuderlo.

Compiliamo il "test.File C "utilizzando il comando del compilatore GCC di seguito.

Test $ GCC.C

Ora esegui il codice del "test.File C "per verificare l'output del codice C come indicato di seguito. L'output ha visualizzato il set di contenuti a 24 caratteri dal file come di seguito.

$ ./UN.fuori

Usiamo il comando "LSEEK" nel codice per verificare l'output di una chiamata di sistema. Quindi apri lo stesso test.F del file utilizzando il comando nano di seguito.

$ nano test.C

Aggiorna il tuo codice così com'è. Questa volta abbiamo usato 6 caratteri dal file di contenuto per essere letti e scritti. Il comando LSEEK è stato usato per saltare i prossimi 5 caratteri dal file di contenuto e passare ai caratteri successivi usando l'offset "Seek_Cur".

Compiliamo di nuovo questo codice.

Test $ GCC.C

L'output del codice C utilizzando A.Il comando Out mostra i primi 6 caratteri, quindi salta i successivi 5 caratteri e poi mostra i successivi 6 caratteri consecutivi.

$ ./UN.fuori

Esempio 02:

Per avere qualche cambiamento, cambiamo il codice. Apri prima il file.

$ nano test.C

Ora useremo l'offset "Seek_set" per raccontare la chiamata del sistema "LSEEK" per mostrare i prossimi 6 caratteri dalla decima posizione di una stringa.

Compila il file c.

Test $ GCC.C

Il comando di output a.ha mostrato i 6 caratteri del decimo indice di una stringa.

Conclusione:

Questa guida ha fatto alcuni semplici esempi di utilizzo del comando di sistema di sistema "LSEEK" per verificare o mostrare contenuti o dati da qualsiasi posizione vogliamo.