2016-07-22 3 views
1

J'ai un problème lors de l'utilisation de la bibliothèque de démarrage pour la copie de fichiers. Après la copie d'un fichier, parfois la taille du fichier est 0kb.fflush ou besoin de synchronisation après boost :: filesystem :: copy?

Voici mon code:

boost::filesystem::copy("from.txt", "to.txt"); 

Je veux juste savoir si je dois appeler sync(), fsync() ou fflush() pour cela? Pour autant que je sache, seuls les E/S basées sur les flux ont besoin de fflush() pour garantir l'écriture du fichier, mais je ne trouve pas la documentation de référence sur boost::filesystem::copy.

Répondre

0

J'ai trouvé qu'une réponse par moi-même. boost :: filesystem :: copy() n'avait pas besoin de flush(). mais il faut sync() quand vous voulez les mettre dans votre flash explicitement.

Difference between fflush and fsync