Bonjour,
Je solicite a nouveau votre aide pour un probleme que je n arrive pas a expliquer.
Le code ci-dessous fonctionne parfaitement sur un Mac x64 bit, mais si je lexecute sur une Debian x32 bit il segfault a la ligne suivante:
Quelqu un a-t-il une explication?
Code : Sélectionner tout - Visualiser dans une fenêtre à part map[y][x].unit = NULL;
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 int x; int y; int i; int fd; char buf[LENX * 11]; t_case **map; if ((fd = open("test.map", O_RDONLY)) == -1) return ; map = malloc(sizeof(t_case *) * LENY); y = 0; while (y < LENY) { map[y] = malloc(sizeof(t_case) * LENX); y++; } y = 0; x = 0; bzero(buf, (LENX * 11) + 1); while (read(fd, buf, (LENX * 11) + 1)) { i = 0; while (i < LENX * 11) { if (buf[i] == '[') { map[y][x].unit = NULL; // Segfault x++; if (x == LENX) { x = 0; y++; } } i++; } bzero(buf, (LENX * 11) + 1); }
Partager