begin process at 2012 05 29 22:24:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème sur un strcmp...


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

Problème sur un strcmp...

lundi 26 juillet 2004 à 10:27:00 | Problème sur un strcmp...

Clonk

Bonjour,
voilà, je dois rechercher dans un fichier si chaque ligne correspond à un masque donné (chaque masque est stocké dans une classe). Voilà comment je procède :
le constructeur :

Categorie::Categorie(char * mask)
{
_masque = new char [512];
strncpy(_masque, mask, 512);
}


Je récupère ma ligne :

char masque[256];
fgets(masque, 512, F);


et quand je veux comparer :

bool Categorie::comparer(char * mask) //Vérifie que le masque donné est le bon
{
char * t = new char [512];
strncpy(t, mask, 512);
int i = strcmp(_masque, t);
if (!strcmp(_masque, t))
{
delete[] t;
return 0;
}
else
{
delete[] t;
return 1;
}
}

j'ia utilisé une variable temporaire et fais un if pour pouvoir bien vérifier mes valeurs (Avant, je faisais juste : return strcmp(_masque, mask);) et meme lorsqu'elles sont égales, mon compilo considère que mes deux chaines sont différentes (VC++ 6.0).
j'obtiens -1 à chaques fois.

Quelqu'un aurait-il compris?
lundi 26 juillet 2004 à 10:44:54 | Re : Problème sur un strcmp...

theneoiceman



Il y a une chose que je ne comprends pas dans ta maniere de procéder... pourquoi ton masque a une taille fixe de 512 caracteres ? En soit ça n'a pas d'intérêt... faudrait que tu fasses un truc du genre :



Categorie::Categorie(char * mask)
{
if(mask)
{
_masque = new char [strlen(mask)+1];
strcpy(_masque, mask);
}



Ensuite pour la focntion de comparaison ca devrait donner :



bool Categorie::comparer(char * mask) //Vérifie que le masque donné est le bon
{
char * t = new char [strlen(mask)+1];
strcpy(t, mask);

int i = strcmp(_masque, t);
if (!strcmp(_masque, t))
{
delete[] t;
return 0;
}
else
{
delete[] t;
return 1;
}
}



}

Si tu as encore un problème laisse de nouveau un message.

Mess with the best, die like the rest
lundi 26 juillet 2004 à 12:18:54 | Re : Problème sur un strcmp...

Clonk

Bha je met tout à 512 par ce que c'est la taille de mon buffer, quand je récupère une ligne dans mon fichier.
Comme ça je usis sur que ce n'est pas une histoire de taille qui me fait planter tout ça...
J'ia essayé ta technique, bah non, toujours pareil, strcmp me renvoie -1.
lundi 26 juillet 2004 à 14:28:50 | Re : Problème sur un strcmp...

Clonk

Bon, c'est bon, j'ai trouvé, C juste que quand je récupérais ma chaine dans le fichier, il y avait un caractère de retour chariot qu'il gardait et pour lui, CT pas la bonne chaine à ce moment là.
C réglé, ça marche chez moi ;)
lundi 26 juillet 2004 à 19:40:31 | Re : Problème sur un strcmp...

djl

en c++ du a std::string extrement conseillé

strcmp et c-style string ca rexte du c


Cette discussion est classée dans : code, mask, char, masque, strcmp


Répondre à ce message

Sujets en rapport avec ce message

Autre question sur les pointeurs [ par Darkneon ] Salut,J'ai le code suivant.#include char strA[27] = "abcdefghijklmnopqrstuvwxyz";int main(void){ char *pA; Char et caractère NULL [ par Arecibo ] Lorsque je déclare : char Texte[16];est ce que je déclare :- une variable de type char de 16 caractères PLUS le caractère NULLou- une vari conversion char-->hexadécimal [ par ivdz ] Bonjour,Est-ce que quelqu'un sait convertir un char en sa valeur hexadécimal ?Voici ce que j'ai essayé :char mot[]="255";int hexa;sscanf(mot struct [ par ready4 ] Je ne sais pas comment initialiser mes moteurs //intialisation moteursM1 = {2, 1, 1, 2, 0, 0, 120};M2 = {8, 4, 4, 8, 0, 0, 80};M3 = {32, 16, 16, 32, 0 Liberation de la mémoire [ par Xentor609 ] Salut,Voici le code qui me pose un pitit probleme:char* fonction(){char* buf=new char[MAX_BUF];//traitement du bufreturn buf;}void MyFunc()< "désallocation" inopinée [ par vecchio56 ] J'ai touvé un truc bizarre avec Visual C++ 6: le code suivant plante:#include void f(char* a){ a = new char[100]; // alloue de la Question de noob avec char :D [ par Bricomix ] Salut à tous,Voilà, je suis noob en C++, j'ai lu un book et j'ai tappé le code suivant :#include using namespace std;int main() masque d'edition [ par athenaeros ] bonjourj'utilise des mask d'edition dans mon application, lors de l'insertion dans ma table je n'ai pas de probnleme, mais lorsque je veux afficher de Erreur DeviceIoControl ??? pk acces refusé ? [ par akk ] Bonjour,Voila lorsque j'execute ce code :(on passe le nom du lecteur en parametre exemple : main C)#include #include <iostre Pointeur et liberation de memoire [ par Darkneon ] Salut, J'avais un probleme apres que je liberais de la memoire allouer a un pointeur, le message "Null pointer assignment" m'apparaisait toujours. Le


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 : 0,952 sec (3)

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