In questo Suggerimento Linux Articolo, spiegheremo come usare asctime () Per recuperare i dati temporali dal calendario del sistema e convertirli in una stringa. Esploreremo la descrizione teorica della struttura di questi dati TM, la sintassi della funzione e i suoi argomenti di input e output insieme ai tipi di dati che ciascuno di essi supporta. Implementeremo quindi l'uso di questa funzione con esempi pratici usando frammenti di codice e immagini.
Sintassi della funzione asctime () in lingua
Char * strime (const struct tm * tm_ptr);Descrizione della funzione asctime () nella lingua C
IL asctime () La funzione recupera le informazioni dalla struct tm che è indicata da *tm_ptr puntatore, lo converte in una stringa e restituisce il suo puntatore *str.
Il formato che viene restituito da questa funzione nella stringa di output è il seguente:
"Www mmm dd hh: mm: ss yyyy \ n \ 0"Entrambi i giorni e i mesi sono rappresentati dalle prime tre lettere dei loro nomi. Le date sono rappresentate da due cifre per i giorni e i mesi e quattro cifre per l'anno. La stringa corrispondente a str contiene un carattere speciale \ n \ 0 alla fine.
IL asctime () funzione e le sue variabili sono definite nel "tempo.H ”intestazione. Per usarli, dobbiamo includerli nel nostro ".C "o".file h "come segue:
#includereCome ottenere l'ora locale in formato stringa con la funzione asctime () nella lingua C
In questo esempio, ti mostreremo passo dopo passo su come usare il asctime () funzione per ottenere i dati temporali UNIX e i tempi locali nella struttura TM e quindi convertirli in una stringa di caratteri leggibili dall'uomo.
Come abbiamo spiegato nell'introduzione, il tempo di sistema viene calcolato dal tempo UNIX. Pertanto, dobbiamo ottenere questa volta prima con la funzione time () time_t.
Nel seguente frammento, il tempo () ottiene il tempo di Unix U_time e lo stampa sulla console di comando:
#includereLa seguente immagine visualizza il tempo UNIX che viene restituito in U_time.
Una volta ottenuto il tempo da Unix, dobbiamo convertire questi dati in un tempo locale o GMT e archiviarli nella struttura intero, tm.
Ogni intero in questa struttura rappresenta secondi, minuti, ore, giorni, ecc. Più tardi, daremo una descrizione più dettagliata delle variabili contenute in questa struttura e come puoi accedervi ciascuno di esse.
I dati della struttura TM possono essere l'ora locale in cui si ottiene ora locale() o il tempo GMT con gmtime ().
Entrambe le funzioni hanno il tempo UNIX ottenuto con U_time come argomento input e restituire il puntatore tm_ptr Di tm, che dobbiamo definire in anticipo come mostrato nel seguente:
#includereÈ importante notare che sia il tempo unix U_time e i dati TM vengono aggiornati ogni volta che viene chiamata una delle funzioni che recuperano questi dati. Altrimenti, i dati dell'ultima chiamata rimangono archiviati nelle loro variabili.
Nel seguente frammento di codice, vediamo come recuperare i dati dell'ora locale nella struttura TM utilizzando la funzione locale (). Quando si chiama questa funzione, è necessario passare il tempo da Unix come argomento di input e il puntatore a TM come argomento di output.
tm_ptr = localtime (& u_time);In questo modo, abbiamo già convertito il tempo da Unix all'ora locale e lo abbiamo immagazzinato nella struttura TM. Dobbiamo solo convertire questi dati in una stringa con asctime ().
Nel seguente frammento, vediamo il codice per ottenere il tempo da Unix. Calcola questi dati e memorizzali in TM Struttura. Quindi, usiamo asctime () per convertire i numeri interi della struttura a cui è indicato *tm_ptr alle corde.
Questa funzione restituisce la stringa a cui è indicata *str_ptr Nel suo argomento di output.
Infine, emettiamo la stringa ottenuta nella console di comando usando printf ().
#includereLa seguente immagine mostra il risultato di questo codice:
IL Tm struct
IL tm struttura e la time_t E clock_t Le variabili sono strutture predefinite e tipi di dati nel "tempo.H ”intestazione e vengono utilizzati per archiviare i risultati che vengono restituiti da alcune delle funzioni definite lì.
Guardiamo ora la struttura dell'intero TM e i nomi delle singole variabili che lo compongono:
structttmConclusione
In questo Suggerimento Linux Articolo, abbiamo spiegato come ottenere il tempo del sistema UNIX e convertirlo in una stringa di calendario con asctime () passo dopo passo. Abbiamo anche spiegato brevemente le funzioni aggiuntive necessarie per elaborare e recuperare questi dati, nonché come gestire i dati TM e tempo. Speriamo che tu abbia trovato questo articolo utile. Per più Suggerimento Linux Articoli sulla lingua C, usa il motore di ricerca sul nostro sito Web.