Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction getdate (POSIX)

Entête à inclure

#include <time.h>

Fonction getdate

struct tm *getdate( const char *string );

Convertit une chaîne en date selon des formats décrits par l'environnement POSIX.

Cet élément est fourni par POSIX. Il peut nécessiter l'activation d'une macro de visibilité POSIX avant l'inclusion de l'entête.

Exemple de code

La fonction getdate s'appuie sur le fichier indiqué par la variable d'environnement DATEMSK. L'exemple suivant crée un petit fichier de format, parse une date, puis supprime le fichier temporaire.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
#define _XOPEN_SOURCE 700

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {

    const char * templatePath = "datemsk.txt";
    FILE * templateFile = fopen( templatePath, "w" );

    if ( templateFile == NULL ) {
        perror( "fopen" );
        return EXIT_FAILURE;
    }

    fputs( "%Y-%m-%d\n", templateFile );
    fclose( templateFile );

    if ( setenv( "DATEMSK", templatePath, 1 ) == -1 ) {
        perror( "setenv" );
        remove( templatePath );
        return EXIT_FAILURE;
    }

    struct tm * date = getdate( "2024-01-15" );
    remove( templatePath );

    if ( date == NULL ) {
        fprintf( stderr, "getdate_err == %d\n", getdate_err );
        return EXIT_FAILURE;
    }

    printf( "%04d-%02d-%02d\n",
            date->tm_year + 1900, date->tm_mon + 1, date->tm_mday );

    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction getdate

Cet exemple produit l'affichage suivant.

2024-01-15

Sujets connexes

La librairie <time.h>


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé