Bonjour,
Le code qui suit est extrait d'un fichier source de gmsh.
Il utilise le ''style c'' pour l'écriture.
Je tente maintenant de lire un fichier binaire écrit avec le code précédent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Bool binary = true; FILE *fp = fopen(name.c_str(), binary ? "wb" : "w"); fprintf(fp, "$MeshFormat\n"); fprintf(fp, "%g %d %d\n", version, binary ? 1 : 0, (int)sizeof(double)); if(binary){ int one = 1; fwrite(&one, sizeof(int), 1, fp); fprintf(fp, "\n"); } fprintf(fp, "$EndMeshFormat\n");
en ''style c++'' mais je n'y arrive pas.
Tout est lu correctement sauf one qui contient une valeur differente de 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 std::ifstream file(name.c_str(),std::ios::in | std::ios::binary); std::string line; file >> line; double v; int type, size; file >> version >> type >> size; int one; file.read((char*)(&one),sizeof(int)); file >> line;
Je ne vois pas trop ce qui ne va pas ...
Partager