begin process at 2012 05 28 18:40:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Comparaison de Variables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comparaison de Variables

mercredi 27 août 2003 à 17:11:05 | Comparaison de Variables

CassusGreg

Salut a tous,

Je débute vraiment en C++ (je suis sous VC++6)
Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).

Merci d'avance


TCHAR buff[255];
HANDLE hFile;
DWORD Ecrit;

hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);

if (hFile)
{
ReadFile(hFile,&buff,1,&Ecrit,0);
//Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)

if (strcmp(buff[0],"0")==0) {
MessageBox(0,"Chiffre 0","Chiffre 0",0);
}


mercredi 27 août 2003 à 17:24:04 | Re : Comparaison de Variables

HCJarod

strcmp() compare deux chaine de caractères terminer par le caractère null \0.rajoute le caractère null en buff[1] ou utilise une variable char buff et ecrit buff=='0'


Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+


-------------------------------
Réponse au message :
-------------------------------

> Salut a tous,
>
> Je débute vraiment en C++ (je suis sous VC++6)
> Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
> Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
> Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).
>
> Merci d'avance
>
>
> TCHAR buff[255];
> HANDLE hFile;
> DWORD Ecrit;
>
> hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
>
> if (hFile)
> {
> ReadFile(hFile,&buff,1,&Ecrit,0);
> //Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
>
> if (strcmp(buff[0],"0")==0) {
> MessageBox(0,"Chiffre 0","Chiffre 0",0);
> }
>
>
>
mercredi 27 août 2003 à 17:40:50 | Re : Comparaison de Variables

CassusGreg

buff[1]=0;
char test2='0';

if (strcmp(buff,test2)==0) {
MessageBox(0,"Ok","Ok",0);
}

j'ai le message:
error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'

merci

-------------------------------
Réponse au message :
-------------------------------

> strcmp() compare deux chaine de caractères terminer par le caractère null \0.rajoute le caractère null en buff[1] ou utilise une variable char buff et ecrit buff=='0'
>
>
> Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut a tous,
> >
> > Je débute vraiment en C++ (je suis sous VC++6)
> > Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
> > Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
> > Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).
> >
> > Merci d'avance
> >
> >
> > TCHAR buff[255];
> > HANDLE hFile;
> > DWORD Ecrit;
> >
> > hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
> >
> > if (hFile)
> > {
> > ReadFile(hFile,&buff,1,&Ecrit,0);
> > //Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
> >
> > if (strcmp(buff[0],"0")==0) {
> > MessageBox(0,"Chiffre 0","Chiffre 0",0);
> > }
> >
> >
> >
>
mercredi 27 août 2003 à 17:44:10 | Re : Comparaison de Variables

aardman

Membre Club
Salut,
Si tu veux comparer que le 1er octet du buffer, tu peut faire:
if(buff[0] == '0')
{
...
}



-------------------------------
Réponse au message :
-------------------------------

> buff[1]=0;
> char test2='0';
>
> if (strcmp(buff,test2)==0) {
> MessageBox(0,"Ok","Ok",0);
> }
>
> j'ai le message:
> error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'
>
> merci
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > strcmp() compare deux chaine de caractères terminer par le caractère null \0.rajoute le caractère null en buff[1] ou utilise une variable char buff et ecrit buff=='0'
> >
> >
> > Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
> > a+
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut a tous,
> > >
> > > Je débute vraiment en C++ (je suis sous VC++6)
> > > Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
> > > Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
> > > Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).
> > >
> > > Merci d'avance
> > >
> > >
> > > TCHAR buff[255];
> > > HANDLE hFile;
> > > DWORD Ecrit;
> > >
> > > hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
> > >
> > > if (hFile)
> > > {
> > > ReadFile(hFile,&buff,1,&Ecrit,0);
> > > //Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
> > >
> > > if (strcmp(buff[0],"0")==0) {
> > > MessageBox(0,"Chiffre 0","Chiffre 0",0);
> > > }
> > >
> > >
> > >
> >
>
mercredi 27 août 2003 à 17:47:10 | Re : Comparaison de Variables

HCJarod

strcmp() compare des chaines de caractères entres elles et pas une chaine de caractère et un caractère.
ecris :
char buff;
HANDLE hFile;
DWORD Ecrit;
hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if (hFile){
ReadFile(hFile,&buff,1,&Ecrit,0);
//Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
if (buff=='0') {
MessageBox(0,"Chiffre 0","Chiffre 0",0);
}

ou
char buff[255];
HANDLE hFile;
DWORD Ecrit;
hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if (hFile){
ReadFile(hFile,buff,1,&Ecrit,0);
//Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
buff[1]='\0';
if (strcmp(buff,"0") {
MessageBox(0,"Chiffre 0","Chiffre 0",0);
}



Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+


-------------------------------
Réponse au message :
-------------------------------

> buff[1]=0;
> char test2='0';
>
> if (strcmp(buff,test2)==0) {
> MessageBox(0,"Ok","Ok",0);
> }
>
> j'ai le message:
> error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'
>
> merci
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > strcmp() compare deux chaine de caractères terminer par le caractère null \0.rajoute le caractère null en buff[1] ou utilise une variable char buff et ecrit buff=='0'
> >
> >
> > Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
> > a+
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut a tous,
> > >
> > > Je débute vraiment en C++ (je suis sous VC++6)
> > > Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
> > > Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
> > > Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).
> > >
> > > Merci d'avance
> > >
> > >
> > > TCHAR buff[255];
> > > HANDLE hFile;
> > > DWORD Ecrit;
> > >
> > > hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
> > >
> > > if (hFile)
> > > {
> > > ReadFile(hFile,&buff,1,&Ecrit,0);
> > > //Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
> > >
> > > if (strcmp(buff[0],"0")==0) {
> > > MessageBox(0,"Chiffre 0","Chiffre 0",0);
> > > }
> > >
> > >
> > >
> >
>
mercredi 27 août 2003 à 17:49:02 | Re : Comparaison de Variables

HCJarod

Tiens aardman te propose une autre solution tout aussi bien à laquelle je n'avait pas penser...


Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+


-------------------------------
Réponse au message :
-------------------------------

> Salut,
> Si tu veux comparer que le 1er octet du buffer, tu peut faire:
> if(buff[0] == '0')
> {
> ...
> }
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > buff[1]=0;
> > char test2='0';
> >
> > if (strcmp(buff,test2)==0) {
> > MessageBox(0,"Ok","Ok",0);
> > }
> >
> > j'ai le message:
> > error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'
> >
> > merci
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > strcmp() compare deux chaine de caractères terminer par le caractère null \0.rajoute le caractère null en buff[1] ou utilise une variable char buff et ecrit buff=='0'
> > >
> > >
> > > Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
> > > a+
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut a tous,
> > > >
> > > > Je débute vraiment en C++ (je suis sous VC++6)
> > > > Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
> > > > Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
> > > > Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).
> > > >
> > > > Merci d'avance
> > > >
> > > >
> > > > TCHAR buff[255];
> > > > HANDLE hFile;
> > > > DWORD Ecrit;
> > > >
> > > > hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
> > > >
> > > > if (hFile)
> > > > {
> > > > ReadFile(hFile,&buff,1,&Ecrit,0);
> > > > //Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
> > > >
> > > > if (strcmp(buff[0],"0")==0) {
> > > > MessageBox(0,"Chiffre 0","Chiffre 0",0);
> > > > }
> > > >
> > > >
> > > >
> > >
> >
>
mercredi 27 août 2003 à 17:51:39 | Re : Comparaison de Variables

CassusGreg

Merci a vous les gars, ca marche mieux maintenant.
Je cromprend un peu mieux maintenant!





-------------------------------
Réponse au message :
-------------------------------

> Salut,
> Si tu veux comparer que le 1er octet du buffer, tu peut faire:
> if(buff[0] == '0')
> {
> ...
> }
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > buff[1]=0;
> > char test2='0';
> >
> > if (strcmp(buff,test2)==0) {
> > MessageBox(0,"Ok","Ok",0);
> > }
> >
> > j'ai le message:
> > error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'
> >
> > merci
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > strcmp() compare deux chaine de caractères terminer par le caractère null \0.rajoute le caractère null en buff[1] ou utilise une variable char buff et ecrit buff=='0'
> > >
> > >
> > > Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
> > > a+
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut a tous,
> > > >
> > > > Je débute vraiment en C++ (je suis sous VC++6)
> > > > Je ne comprend pas grand chose en déclaration de variables et en test de comparaison.
> > > > Mon but est ultra simple, prendre le 1er octet d'un fichier, et tester si c'est un "0" ou un "1".
> > > > Au passage savez vous s'il existe une fonction qui lit une ligne de texte (termine par 0x0D,0x0A).
> > > >
> > > > Merci d'avance
> > > >
> > > >
> > > > TCHAR buff[255];
> > > > HANDLE hFile;
> > > > DWORD Ecrit;
> > > >
> > > > hFile=CreateFile("config.ini",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
> > > >
> > > > if (hFile)
> > > > {
> > > > ReadFile(hFile,&buff,1,&Ecrit,0);
> > > > //Le premier octet est soit un 0 ou un 1 (en chaine pas le code ASCII)
> > > >
> > > > if (strcmp(buff[0],"0")==0) {
> > > > MessageBox(0,"Chiffre 0","Chiffre 0",0);
> > > > }
> > > >
> > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : variables, octet, comparaison, hfile, buff


Répondre à ce message

Sujets en rapport avec ce message

Pb WriteFile [ par Joky ] Bonsoir Bonsoir ma tite famille :) lol Donc j'ai un Soucy :) et oui et oui ;) En faite je ne suis pas sur que ça vienne de WriteFile, mais en tout cas Variable offset je n'y comprend vraimen rien!! [ par CassusGreg ] void LireLigne(HANDLE hFile) { for (int i=0; i ReadFile(hFile,&buff[i],1,&Ecrit,0); if (buff[i]=='\n') { buff[i-1]=0; i=100; } } return;}LireLi Comparaison de fichiers en tant que nombre [ par vinceb666 ] bonjour,je cherche un moyen de comparer 2 fichiers en les considerant comme 2 nombres et savoir lequel des 2 est le plus grandpar exemple comparaison DLL et variables [ par CyberP ] Voilà je voudrais donner la possibilitée à une dll d'appeler une fonction de l'application mèreDonc j'ai créé une structure que j'appelle PLUGINSYNC ( variables globales [ par jihedo ] svp, qui peut me dire comment créer une variable globale dont le contenu peut être lue dans ttes les classes, par exemple le texte saisie dans un "edi comparaison images [ par maigmoc ] salut à tous;je cherche à faire une comparaison entre 2 images pixels par pixels dans l'objectif de détecter des mouvements.je travail en visual c++ m pb de définition de variables [ par minet03 ] Coucou, j'ai fait un fichier variables.cpp où je met toutes mes variables dedans. J'inclue ce fichier dans tout mes autres fichiers car ils en ont tou CreatePorcess + App 16-bits [ par vecchio56 ] BonjourJ'éxécute une application 16-bits avec CreateProcess mais je n'arrive pas à récupérer ce qu'il y a dans stdout. Le problème c'est que le même c question sur les variables [ par Kernox ] Bjr,Je doit lire un fichier txt de plusieurs lignes et avec des lignes dune longeur differente.Je veux savoir comment peut ton faire quelque chose com Lancement d'un programme par un autre programme et lui envoyer des variables [ par inquisitor87 ] Bonjour à tous,Je me permet de vous poser cette question car j'ai longuement cherché mais n'ai point trouvé. En fait, je suis actuellement en train de


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,947 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales