RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Besoin d'aide pour trouver l'erreur

Forum : C & C++ - CONSOLE
Sous Catégorie : Console
Type du sujet : Sujet Normale
FAQ : FAQ C & C++ - CONSOLE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C & C++ - CONSOLE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
phobios
Nouveau membre
Avatar de phobios
Inscrit : 09/02/2006
Messages : 25
Message
#108563
Posté le 25/08/06 à 20:23
Je sais ça, mais comme je ne peut pas modifier le Buffer, à cause de la suite du programme, j'ai fait ce systeme des deux boucles imbriquée, et je ne fais pas la comparaison entre LeTexte et Buffer, mais entre Ligne et Buffer.
Et Ligne contient, au cours d'un des passages dans la boucle, "LeMot" suivit d'un 0 terminal mais sa marche pas, et je vois pas pourquoi =/
__________________________
Il faut arreter l'informatique le jour où on trouve 1024 grammes dans un kilo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1945
Message
#108568
Posté le 25/08/06 à 20:49
t'es sur que ta ligne contient que "lemot" dedans !?
t'as essayé de l'afficher ?
parce que la bidouille des 2 boucles imbriquées j'y crois pas trop là
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

phobios
Nouveau membre
Avatar de phobios
Inscrit : 09/02/2006
Messages : 25
Message
#108569
Posté le 25/08/06 à 20:49
Chose etrange, il semble qu'en fait cela fonctionne, mais uniquement avec des mots de 4 lettres =/

Et oui, m'a bidouille fonctionne, j'affiche les deux variables Ligne et LeTexte, elles sont identiques
__________________________
Il faut arreter l'informatique le jour où on trouve 1024 grammes dans un kilo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

pac
Co-Administrateur
Superviseur :
- Méthodologie.
Modérateur :
- Delphi
Chef de projet(s) :
- Jeu Awalé
- EcoSystem
- MySudoku

Avatar de pac
Inscrit : 08/04/2004
Messages : 6571
Message
#108570
Posté le 25/08/06 à 20:55
Le problème ne vient pas du Buffer, ni des 2 boucles.
Il vient de taille qui indique 4.

Ce code donne le bon résultat :

#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { const char * Buffer = "tototututitiLeMotjkhljhljkhh"; const char * LeTexte = "LeMot"; int taille = sizeof(LeTexte); cout << taille << endl; char Ligne[1024]; for (int w=0;w<1024;w++) Ligne[w] = 0; for(int x=0;Buffer[x]!=0;x++) { for (int y=0;y<5;y++) Ligne[y] = (Buffer[x+y]); if(!strcmp(Ligne , LeTexte) ) cout << "ok" << endl; } system("PAUSE"); return EXIT_SUCCESS; }


J'affiche taille qui vaut 4 et j'ai remplacé taille par 5 dans la boucle.
SizeOf ne doit pas donner le nombre de caractère d'un tableau, mais doit donner le nombre d'octets du pointeur char* qui est de 4.

[Edit]Je confirme, sizeof est mal utilisé dans ce cas, il sert par exemple à savoir la taille d'un int, d'un long int, et donc d'un char*, et ceci ne correspond pas au nombre de caractères dans la chaîne de caractères.

De plus, il ne fallait pas arrêter la boucle pour i < taille -1 mais i < taille ou i<= taille -1.
[/Edit]
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu]Image.

Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

phobios
Nouveau membre
Avatar de phobios
Inscrit : 09/02/2006
Messages : 25
Message
#108571
Posté le 25/08/06 à 21:00
Merci =)

Je venais juste de me rendre compte que le probleme venait du sizeof ! Il y a à peine 3 minutes !

Merci a vous deux en tout cas ;)
__________________________
Il faut arreter l'informatique le jour où on trouve 1024 grammes dans un kilo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

phobios
Nouveau membre
Avatar de phobios
Inscrit : 09/02/2006
Messages : 25
Message
#108572
Posté le 25/08/06 à 21:11
Je copie/colle mon code exacte, legerement de celui de pac, mais qui ressemble plus a celui avec lequelle je suis partit au depart

const char * LeTexte = "journalier"; for(int Taille=0;LeTexte[Taille]!=0;Taille++); char Ligne[1024]; for (int w=0;w<1024;w++) Ligne[w] = 0; for(int x=0;Buffer[x]!=0;x++) { for (int y=0;y<Taille;y++) Ligne[y] = (Buffer[x+y]); if(!strcmp(Ligne,LeTexte)) { break; /* [...] */ } }

=)
__________________________
Il faut arreter l'informatique le jour où on trouve 1024 grammes dans un kilo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C & C++ - CONSOLE



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.