Je faisais des fichiers IO dans un projet sur lequel je travaillais actuellement et jusqu'ici j'ai lu dans un bloc entier de données en utilisant le rapide et le suivant méthode pratique:C/C++ fiabilité de memcpy sizeof (typname) application croisée sur TCP
struct Header { ... };
class Data { ... };
// note that I have not used compiler directives to pack/align/order bytes
// partly because I don't know how to.
Header _header;
Data _data;
std::ifstream fin(filename);
fin.read((char*)&_header, sizeof(Header));
fin.read((char*)&_data, sizeof(Data));
fin.close();
Ma question est de savoir s'il est autorisé à prendre les octets sont alignés et de l'ordre de la même manière pour chaque compilateur et tout autre ordinateur? Par exemple, si je prends la structure d'en-tête et compile un programme client, sur Linux, et un programme serveur sur Windows. Les octets sont-ils dans le même ordre de sorte qu'il n'y aura pas de problèmes de réception et d'envoi dans les deux sens?
Il est également intéressant de mentionner JSON. –
Bien que ma plate-forme de test soit un autre PC, ma plate-forme cible est un microprocesseur. Je ne sais pas si ça va marcher ... probablement pas? – Jake