Bonjour,
j'ai crée une petit fonction en c qui marche pas trop mal.
J'ai copié-collé le code dans une appli VC++ et la ça merde.
Voici le code, je vous dirais aprés ce qui va pas:

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
 
   FILE *pin;
	FILE *pout2;
	FILE *pout3;
	FILE *pout4;
	FILE *pout5;
 
   char ligne[500];
 
	char* nom_fic="20050601_180003.dat"; 
 
	int res2;
	short big_s;
	short lit_s;
	int i;
	int j;
 
	pin = fopen(nom_fic, "rb"); 
	pout2 = fopen("./Data/porte2.dat", "w");
	pout3 = fopen("./Data/porte3.dat", "w");
	pout4 = fopen("./Data/porte4.dat", "w");
	pout5 = fopen("./Data/porte5.dat", "w");
 
	for (i = 0; i < 1160; i++) 
               {
	  fgets(ligne, 500, pin); //on met l'entete en memoire
 
	  for (j = 0; j < 4096; j++) { 
	    fread(&big_s, sizeof(short),1, pin);
	  }
 
	  for (j = 0; j < 4096; j++) {
	    fread(&big_s, sizeof(short),1, pin);
	    swab(&big_s, &lit_s, sizeof(short));
	    fprintf(pout2, "%d\n", lit_s);
	  }
 
	  for (j = 0; j < 4096; j++) {
	    fread(&big_s, sizeof(short),1, pin);
	    swab(&big_s, &lit_s, sizeof(short));
	    fprintf(pout3, "%d\n", lit_s);
	  }
 
	  for (j = 0; j < 4096; j++) {
	    fread(&big_s, sizeof(short),1, pin);
	    swab(&big_s, &lit_s, sizeof(short));
	    fprintf(pout4, "%d\n", lit_s);
	  }
 
	  for (j = 0; j < 4096; j++) {
	    fread(&big_s, sizeof(short),1, pin);
	    swab(&big_s, &lit_s, sizeof(short));
	    fprintf(pout5, "%d\n", lit_s);*/
 
	}
 
 
	fclose(pin);
	fclose(pout2);
	fclose(pout3);
	fclose(pout4);
	fclose(pout5);
en gros on ouvre un fichier et ecrit dans 4 autre fichiers
donc la le compilateur me dis ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
'swab' : cannot convert parameter 1 from 'short *' to 'char *'
Je ne sais d'ailleurs pas ou il voit un char* ...

J'ai l'impression que la version c++ de swab prend des char* en paramètre, mais en c on peu mettre ce qu'on veut

Quelqu'un aurait-il une idée lumineuse ?


Merci