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 strftime_l (POSIX)

Entête à inclure

#include <time.h>

Fonction strftime_l

size_t strftime_l( char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr, locale_t locale );

Version localisée POSIX de strftime.

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

Cet exemple formate une date avec strftime_l en utilisant explicitement la locale C. La locale est créée avant l'appel, puis libérée à la fin du programme.

 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 
#define _XOPEN_SOURCE 700

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

int main() {

    struct tm date = { 0 };
    char buffer[64];

    date.tm_mday = 15;
    date.tm_mon = 0;
    date.tm_year = 124;
    date.tm_wday = 1;

    locale_t locale = newlocale( LC_TIME_MASK, "C", (locale_t) 0 );
    if ( locale == (locale_t) 0 ) {
        perror( "newlocale" );
        return EXIT_FAILURE;
    }

    if ( strftime_l( buffer, sizeof buffer, "%A %d %B %Y", &date, locale ) == 0 ) {
        fprintf( stderr, "Tampon trop petit.\n" );
        freelocale( locale );
        return EXIT_FAILURE;
    }

    printf( "%s\n", buffer );
    freelocale( locale );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction strftime_l

Cet exemple produit l'affichage suivant.

Monday 15 January 2024

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é