Bonjour,
j'essaye d'ouvrir un fichier en lecture + écriture sous windows 7 avec le code suivant :
Or, il m'affiche a d a b c d au lieu de a x a x c d.
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 #include <stdio.h> int main( void ) { char filename[] = "data"; FILE *fp = NULL; if( (fp = fopen( filename, "w" )) ) { fprintf( fp, "abcd" ); fclose( fp ); } if( (fp = fopen( filename, "r+" )) ) { int c = 0; c = fgetc( fp ); printf( "%c ", c ); fputc( 'x', fp ); fflush( fp ); fseek( fp, -1, SEEK_CUR ); c = fgetc( fp ); printf( "%c ", c ); rewind( fp ); while( (c = fgetc( fp )) != EOF ) { printf( "%c ", c ); } } return 0; }
Si j'envoie l’exécutable chez une autre personne avec win7, même souci.
J'utilise le compilo mingw4.8.1 tdm-2 (fourni avec codeblocks).
J'ai donc plusieurs questions:
— est ce que ce code donne la même chose chez tous les utilisateurs de Windows ? Le souci viendrait peut-être de mon compilo ?
— cela pourrait être lié a la « sécurité » des dossiers de Win7? J'ai bien viré tous les lectures seules, etc. mais on ne sait jamais…
— si je fais un exécutable fonctionnel du coup, ça marchera partout ?
Merci d'avance.
Edit:
j'ai testé avec une autre version du compilo, ça ne marche pas non plus. Le souci viendrait donc de Windows ?
Partager