IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[Débutant] Du C dans le C++


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Points : 78
    Points
    78
    Par défaut [Débutant] Du C dans le C++
    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

  2. #2
    Membre du Club Avatar de Hokagge
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 149
    Points : 67
    Points
    67
    Par défaut
    En effet il faut passer par un char* au lieu du short*

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Points : 78
    Points
    78
    Par défaut
    Oui mais alors comment je trouve l'equivalent de mon code ? parce que si je met des char* ça fait n'importe quoi

  4. #4
    Membre habitué
    Inscrit en
    Avril 2002
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Points : 157
    Points
    157
    Par défaut
    essais un cast
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fread((char*)&big_s, sizeof(short),1, pin); 
    //ou
    fread((const char*)&big_s, sizeof(short),1, pin);
    je croi que ca prend un const char* plutot que un char* mais je suis pas sure

Discussions similaires

  1. [Débutant] affichage opengl dans un TPanel
    Par minnit_s dans le forum OpenGL
    Réponses: 1
    Dernier message: 01/01/2006, 23h03
  2. [Débutant(e)] problème dans un applet
    Par Tootsi dans le forum Applets
    Réponses: 7
    Dernier message: 25/11/2005, 22h09
  3. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 03h21
  4. [Débutant][JFileChooser] Ecrire dans fichier
    Par Clark dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/05/2005, 17h47
  5. Réponses: 8
    Dernier message: 05/05/2004, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo