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 utimensat - Entête <sys/stat.h>

Entête à inclure

#include <sys/stat.h>

Fonction utimensat

int utimensat( int fd, const char * path, const struct timespec times[2], int flag );

La fonction utimensat modifie les dates d'accès et de modification d'un fichier désigné par un chemin relatif à un dossier de référence.

Les constantes AT_FDCWD et AT_SYMLINK_NOFOLLOW sont définies par <fcntl.h>.

Paramètres

Valeur de retour

En cas de succès, la fonction renvoie 0. En cas d'erreur, elle renvoie -1 et positionne errno.

Exemple de code

L'exemple suivant conserve la date d'accès et met la date de modification à l'heure courante.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
#define _POSIX_C_SOURCE 200809L

#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>

int main(void) {

    struct timespec times[2];
    times[0].tv_nsec = UTIME_OMIT;
    times[1].tv_nsec = UTIME_NOW;

    if (utimensat(AT_FDCWD, "data.txt", times, 0) == -1) {
        perror("utimensat");
        return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}
Mise à jour partielle des dates

Conformité

Fonction définie par POSIX.

Sujets connexes

futimens
UTIME_NOW et UTIME_OMIT
struct stat


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