Ce que j'obtiens est dans la pièce jointe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int nb =2; char **array; array = new char*[nb]; int i; for(i=0;i<nb;i++) { array[i] = new char[8]; } strncpy(array[0],"ihuih",8); strncpy(array[1],"zehded",8); ofstream ofs("test.txt", ios::binary); ofs.write((char *)array, 48); delete[] array;
Les 8 premiers caractères sont les 2 pointeurs des cellules du tableau apparemment.
Le résultat me parait très étrange, j'ai des caractères en trop. Le langage est censé alloué des cases adjacentes pourtant.
Ai-je fais une erreur où on peut obtenir par une astuce
69 68 75 69 68 00 00 7A 65 68 64 65 64 00 comme si ça avait été un char[2][8] non alloué dynamiquement ?
Partager