Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

date de fichier copié

13 réponses
Avatar
fembe
bonjour,
je développe un logiciel sous linux en gcc et je dois copier des gros
fichiers du disque dur vers une clé usb à la demande de l'utilisateur,
Pour pouvoir avoir une barre de défilement et une interruption possible
par l'utilisateur,je ne peux pas utilisé la commande "cp -p" mais
j'utilise les commandes standard ( open , read write close etc...) ça
marche bien sauf que la date du fichier résultat n'est pas la même que
le fichier de départ !! comment faire ?

10 réponses

1 2
Avatar
Marc Boyer
Le 20-02-2007, Matthieu Moy a écrit :
fembe writes:

ça marche bien sauf que la date du fichier résultat n'est pas la
même que le fichier de départ !! comment faire ?


La commande « touch » fait ça. Je suppose qu'il y a un appel système
qui fait ça sans passer par l'executable « touch ».


Oui, et en faisant un strace touch -t ..., on voit les appels
systèmes faits par touch pour faire ça.

Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)


Avatar
Matthieu Moy
fembe writes:

ça marche bien sauf que la date du fichier résultat n'est pas la
même que le fichier de départ !! comment faire ?


La commande « touch » fait ça. Je suppose qu'il y a un appel système
qui fait ça sans passer par l'executable « touch ».

--
Matthieu

Avatar
Pascal Bourguignon
fembe writes:

bonjour,
je développe un logiciel sous linux en gcc et je dois copier des gros
fichiers du disque dur vers une clé usb à la demande de l'utilisateur,
Pour pouvoir avoir une barre de défilement et une interruption possible
par l'utilisateur,je ne peux pas utilisé la commande "cp -p" mais
j'utilise les commandes standard ( open , read write close etc...) ça
marche bien sauf que la date du fichier résultat n'est pas la même que
le fichier de départ !! comment faire ?


rsync --progress /gros/fichier /cle/usb/ | dessiner-barre-de-defilement

Oh! Et regarde toutes les options qu'il y a:

-H, --hard-links preserve hard links
-p, --perms preserve permissions
-o, --owner preserve owner (root only)
-g, --group preserve group
-D, --devices preserve devices (root only)
-t, --times preserve times


--
__Pascal Bourguignon__ http://www.informatimago.com/

HEALTH WARNING: Care should be taken when lifting this product,
since its mass, and thus its weight, is dependent on its velocity
relative to the user.

Avatar
Antoine Leca
[ fclc supprimé des suivis, inadapté. ]

fembe écrivit dans news::
je développe un logiciel sous linux en gcc et je dois copier des gros
fichiers du disque dur vers une clé usb à la demande de l'utilisateur,
Pour pouvoir avoir une barre de défilement et une interruption
possible par l'utilisateur,je ne peux pas utilisé la commande "cp -p"
mais j'utilise les commandes standard ( open , read write close
etc...) ça marche bien sauf que la date du fichier résultat n'est pas
la même que le fichier de départ !! comment faire ?


man utime(2)


Antoine

Avatar
fembe
ok ; je vais essayer par l'appel système "touch -r"


Le Tue, 20 Feb 2007 09:24:30 +0100, Matthieu Moy a écrit :

fembe writes:

ça marche bien sauf que la date du fichier résultat n'est pas la même
que le fichier de départ !! comment faire ?


La commande « touch » fait ça. Je suppose qu'il y a un appel système
qui fait ça sans passer par l'executable « touch ».



Avatar
LinuxKiller
fembe wrote:

je développe un logiciel sous linux en gcc et je dois copier des gros
fichiers du disque dur vers une clé usb à la demande de l'utilisateur,
Pour pouvoir avoir une barre de défilement et une interruption possible
par l'utilisateur,je ne peux pas utilisé la commande "cp -p" mais
j'utilise les commandes standard ( open , read write close etc...) ça


Non, open, read et write ne sont pas "standard"

Avatar
Nicolas George
LinuxKiller wrote in message <erkrkq$7ih$:
Non, open, read et write ne sont pas "standard"


Sous Unix, si, totalement. Regarde où est crossposté cet article.

Avatar
Eric Levenez
Le 22/02/07 20:42, dans <erkrkq$7ih$, « LinuxKiller »
a écrit :

Non, open, read et write ne sont pas "standard"


On ne peut guère faire plus standard que l'ISO/IEC 9945-1. C'est aussi Posix
Std 1003.1. Par contre effectivement ce n'est pas ISO/IEC 9899.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
LinuxKiller
Eric Levenez wrote:

Non, open, read et write ne sont pas "standard"


On ne peut guère faire plus standard que l'ISO/IEC 9945-1. C'est aussi Posix
Std 1003.1. Par contre effectivement ce n'est pas ISO/IEC 9899.


C'est bien ce que je voulais écrire


Avatar
Antoine Leca
Eric Levenez écrivit dans news:C203B993.9FAD7%:

On ne peut guère faire plus standard que l'ISO/IEC 9945-1.


Si. ISO/CÉI 9899.

:-)


Antoine

1 2