J'ai essayé pendant des mois de trouver une petite bibliothèque C ou C++ pour les E/S de fichiers binaires indépendantes de la plate-forme, ce qui signifie l'endian swapping et les types de taille fixe . Je sais que d'énormes bibliothèques comme wxWidgets et Qt les ont, et que des langages comme Java et C# les ont aussi, mais je préférerais utiliser une petite bibliothèque au lieu d'un énorme framework.Bibliothèque C/C++ pour E/S de fichier binaire indépendant de la plate-forme
Répondre
Que diriez-vous de Google Protocol Buffers?
La bibliothèque inclut des liaisons pour C++, Java et Python.
Pourquoi ne pas simplement utiliser fstream qui est livré avec tous les compilateurs C++. Vous venez de définir le drapeau ios :: binary et utilisez abondamment sizeof pour le rendre indépendant du système d'exploitation. .: http://courses.cs.vt.edu/~cs2604/fall02/binio.html et par exemple http://www.codersource.net/c/c-tutorial-on-file-operations/c-file-i-o-binary-files-using-fstream.aspx
Dans mon expérience, l'utilisation de fstream devient très salissante (lignes longues et répétitives, beaucoup de moulages), même sans manipuler des trucs dépendant de la plate-forme. – testtesttes
Pas besoin de traduire l'entrée binaire IMO. Allez juste la bibliothèque standard ici. – rubenvb
Parce que c'est une énorme douleur dans le cul, et ne fonctionne même pas avec binaire sans avoir recours à des hacks dégoûtants comme couler l'int à un char ... – MarcusJ
Jetez un oeil à Boost.Serialization
l'un de ses objectifs est « portabilité des données - flux d'octets créés sur une plate-forme doit être lisible sur tout autre. »
Il existe également des liens vers d'autres bibliothèques offrant des fonctionnalités similaires.
Wow! quel parfait exemple de bibliothèque * minuscule * pour les E/S :) – valdo
Pour le travail le plus format de fichier que je préfère utiliser SQLite: http://www.sqlite.org/ la chose est cool, vous pouvez accéder au même fichier de données à travers les systèmes d'exploitation et les langages de programmation et périphériques.
SQLite n'est pas utile pour stocker le type de données comme les volumes de voxels –
- 1. Modèles de conception pour le code indépendant de la bibliothèque
- 2. Meilleure bibliothèque multi-plateforme?
- 3. Bibliothèque d'analyse audio multi-plateforme
- 4. Bibliothèque multi-plateforme pour la manipulation des chemins Windows?
- 5. Bibliothèque RPC multi-plateforme C++
- 6. Bibliothèque IMAP multi-plateforme C++
- 7. Comment convertir ce script shell en un script Perl indépendant de la plateforme?
- 8. Est-ce que java Runtime.exec (String []) est indépendant de la plateforme?
- 9. Incorporation d'un fichier binaire dans une bibliothèque de classes
- 10. Chargeur de plug-in de bibliothèque dynamique multi-plateforme C++
- 11. Bibliothèque de diagramme de décision binaire pour Windows
- 12. Existe-t-il des liaisons java pour OpenGL ES 2.0 sur la plateforme Android?
- 13. Création d'une bibliothèque C++ multi-plateforme
- 14. Existe-t-il une bibliothèque réseau multi-plateforme pour l'iPhone?
- 15. Gestion des chemins de fichier inter-plateforme
- 16. multi-plateforme d'adressage du fichier de configuration
- 17. Stockage mono-fichier multi-plateforme
- 18. bibliothèque vectoriel/matriciel pour OpenGL ES 2.x application
- 19. Est-ce qu'une plateforme de fichier C .lib est spécifique?
- 20. Python - bibliothèque de sons 5.1 indépendante de la plate-forme
- 21. La plateforme WCF est-elle indépendante?
- 22. fichier binaire
- 23. Indépendant de la résolution dans Android SurfaceView
- 24. E/S de fichier binaire
- 25. Suggestion de plateforme/outil/bibliothèque pour le prototypage rapide d'un jeu d'outils de conception graphique
- 26. Library pour la cartographie multi-plateforme de types MIME pour extensions de fichiers et vice versa
- 27. lecture DWORD de fichier binaire
- 28. Unité de test XML indépendant du fichier XML physique
- 29. Système de contrôle de source pour fichier binaire
- 30. taille de fichier de la bibliothèque partagée
Oh, plus de 7 ans ont passé ... Avez-vous trouvé? – kbec