Nel file system boost esiste una funzione create_directory
che crea una directory. Come creo un file? Potrei crearne uno definendo un oggetto boost::filesystem::ofstream
ma questo aprirebbe anche il file, quindi dovrei chiamare close
su di esso prima che potessi fare altre cose su di esso, come rinominare o eliminare. È questo l'unico modo?Come creare un file con boost filesystem senza aprirlo
6
A
risposta
5
Boost Filesystem V3 non fornisce una funzione touch(1)
;
Anche touch
sarà creat + chiudere un file, basta guardare l'uscita di strace
:
open("/tmp/q", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 47
dup2(47, 0) = 0
close(47) = 0
utimensat(0, NULL, NULL, 0) = 0
penso che la cosa più ragionevole è quella di creare solo una funzione wrapper che chiude il file.
1
Si può solo usare qualcosa come
// ... code ...
boost::filesystem::ofstream("/path/to/file");
boost::filesystem::rename("/path/to/file", "/path/to/renamed_file");
// ... code ...
che creerà un file vuoto e subito rinominarlo, senza necessità di chiudere in qualsiasi punto.
Problemi correlati
- 1. boost :: filesystem :: recursive_directory_iterator con filtro
- 2. come eseguire boost :: filesystem copy_file con sovrascrittura
- 3. Gettext senza un filesystem
- 4. Come usare copy_file in boost :: filesystem?
- 5. Ottieni percorso assoluto con boost :: filesystem :: percorso
- 6. Espansione percorso utente con boost :: filesystem
- 7. boost :: filesystem aggiungendo le virgolette?
- 8. Come convertire un boost :: filesystem :: directory_iterator in un const char *
- 9. Errore di collegamento boost per boost filesystem, perché?
- 10. Perché non c'è boost :: filesystem :: move_file?
- 11. C++ Boost Filesystem: come modificare lo stelo da un percorso?
- 12. Come posso creare un filesystem userspace con FUSE senza usare libfuse?
- 13. Creare un loop in un filesystem Linux
- 14. boost filesystem :: percorso costruttore std :: length_error
- 15. come determinare se il file è contenuto dal percorso con boost filesystem v3
- 16. Risolvi i collegamenti simbolici con il filesystem boost
- 17. C++ BOOST riferimento undefined a `boost :: filesystem :: detail :: copy_file
- 18. Come verificare se il percorso è valido in boost :: filesystem?
- 19. Come creare un iostream ssl boost?
- 20. Come posso copiare una directory usando Boost Filesystem
- 21. Come duplicare un repository di subversione senza accesso al filesystem?
- 22. È possibile ottenere il numero di righe in un file CSV senza aprirlo?
- 23. Lettura di macro VBA (o vbaProject.bin) di un file Excel senza aprirlo in MS Excel
- 24. Come distruggere un filesystem
- 25. Curl: Salvataggio di un file invece di aprirlo
- 26. Come creare un file Excel usando OpenXML senza creare un file locale?
- 27. Come implementare un filesystem molto semplice?
- 28. Come imitare os.walk in python con un filesystem temporaneo?
- 29. Come creare un file falso/"virtuale"?
- 30. Come creare un nuovo file con percorso?