12Fermer14
spectrasLe 07/12/2014 à 05:34
./1> quitte à faire de la copie par bloc, autant passer outre la libc et utiliser directement les appels bas niveau, (2)open, (2)read, (2)write.

Sinon, si le fichier cible et destination ne sont pas sur le même support physique, ou si ce support physique est distant, il sera probablement plus rapide de lire et écrire simultanément avec un buffer tournant. (à l'inverse, ça ralentira probablement les copies sur le même support physique local donc il faut détecter quelle variante utiliser). O_NONBLOCK est ton ami pour ça, mais c'est autrement plus compliqué à implémenter.

Et puis en fonctionnalités après, comme dit plus haut une copie complète va copier aussi les métadonnées. Et là c'est compliqué parce que dépendant de l'OS et même du système de fichier.
Pour faire les choses bien, tu devrais :

Si ton but c'était la libc, c'est pas tellement pertinent. Mais si c'était pour jouer avec les fichiers en général, y'a de la matière happy