Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
918 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C]condition string qui marche pas !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C]condition string qui marche pas !

n°322069
CtHuLhU50
Posté le 03-03-2003 à 20:30:50  profilanswer
 

voici mon probleme :
 
printf("La touche %s a été préssée!\n",SDL_GetKeyName(event.key.keysym.sym));
if (SDL_GetKeyName(event.key.keysym.sym)=='left';) printf("Lfgdg" );
 
c'est du SDL mais ce n'est pa le probleme ! kand je l'exécute é ke j'appuie sir la touche gauche SDL_GetKeyName(event.key.keysym.sym) = "left"
La touche left a été préssée!
 
mais mon if ne marche pas, mais pk donc ???
 
merci

mood
Publicité
Posté le 03-03-2003 à 20:30:50  profilanswer
 

n°322074
Taz
bisounours-codeur
Posté le 03-03-2003 à 20:34:56  profilanswer
 

strcmp(ton_truc, "Left" ) == 0
si truc renvoie "Left"

n°322079
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2003 à 20:37:30  profilanswer
 

essaie ça :
 
if (SDL_GetKeyName(event.key.keysym.sym)=="left") printf("Lfgdg" );  


---------------
J'ai un string dans l'array (Paris Hilton)
n°322086
Taz
bisounours-codeur
Posté le 03-03-2003 à 20:41:12  profilanswer
 

je connais rien à SDL mais le == je le sens mal d'habitude

n°322089
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2003 à 20:45:03  profilanswer
 

++Taz a écrit :

je connais rien à SDL mais le == je le sens mal d'habitude


ben SDL_GetKeyName renvoie un char* [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
n°322098
CtHuLhU50
Posté le 03-03-2003 à 20:50:40  profilanswer
 

if (SDL_GetKeyName(event.key.keysym.sym)=="left" ) printf("Lfgdg" );  
ca marche pas

n°322102
Taz
bisounours-codeur
Posté le 03-03-2003 à 20:51:54  profilanswer
 

Harkonnen a écrit :


ben SDL_GetKeyName renvoie un char* [:sinclaire]

vous etes des blaireaux ou vous avez jamais fait de C?

n°322105
kadreg
profil: Utilisateur
Posté le 03-03-2003 à 20:53:34  profilanswer
 

++Taz a écrit :

vous etes des blaireaux ou vous avez jamais fait de C?


 
Je sais que c'est mal, mais je plussoie


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°322107
CtHuLhU50
Posté le 03-03-2003 à 20:55:15  profilanswer
 

++Taz o lieu de nous insulter aide moi !

n°322109
Taz
bisounours-codeur
Posté le 03-03-2003 à 20:56:48  profilanswer
 

je t'ai déjà répondu  :pfff:

mood
Publicité
Posté le 03-03-2003 à 20:56:48  profilanswer
 

n°322112
Taz
bisounours-codeur
Posté le 03-03-2003 à 20:57:25  profilanswer
 

kadreg a écrit :


 
Je sais que c'est mal, mais je plussoie

pauvres blaireaux, désolé, c'est des braves bêtes  :sweat:

n°322119
CtHuLhU50
Posté le 03-03-2003 à 21:01:07  profilanswer
 

si je fais ca :
if (SDL_GetKeyName(event.key.keysym.sym) = "left" ) printf("Lfgdg" );
 
g une erreur de compilation
 
main.c:60: invalid lvalue in assignment

n°322120
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2003 à 21:01:12  profilanswer
 

oui bon ça va hein !  
strcmp évidemment... à force d'utiliser des langages objets avec des opérateurs surchargés à tout bout de champ, on en oublie les principes élémentaires ! :kaola:
 
inutile d'être si condescendant... quand tu as posté un topic sur Java l'autre jour, tu ne t'es pas fait incendier par les pros que je sache !


---------------
J'ai un string dans l'array (Paris Hilton)
n°322123
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2003 à 21:02:06  profilanswer
 

CtHuLhU50 a écrit :

si je fais ca :
if (SDL_GetKeyName(event.key.keysym.sym) = "left" ) printf("Lfgdg" );
 
g une erreur de compilation
 
main.c:60: invalid lvalue in assignment


c'est faux !! n'en rajoute pas !!
 
if (strcmp(SDL_GetKeyName(event.key.keysym.sym), "Left" ))
est juste !
 
edit: avec les parenthèses, c mieux


Message édité par Harkonnen le 03-03-2003 à 21:04:21

---------------
J'ai un string dans l'array (Paris Hilton)
n°322126
Taz
bisounours-codeur
Posté le 03-03-2003 à 21:02:54  profilanswer
 

j'en rajoute po   :sweat:  
je réponds et on m'ignore

n°322128
Taz
bisounours-codeur
Posté le 03-03-2003 à 21:03:46  profilanswer
 

CtHuLhU50 a écrit :

si je fais ca :
if (SDL_GetKeyName(event.key.keysym.sym) = "left" ) printf("Lfgdg" );
 
g une erreur de compilation
 
main.c:60: invalid lvalue in assignment

t'es pas sorti de l'auberge. fais la différence entre = (affectation) et == (comparaison des types simples du C)

n°322129
CtHuLhU50
Posté le 03-03-2003 à 21:03:47  profilanswer
 

Harkonnen ca marche merci ;)

n°322130
Taz
bisounours-codeur
Posté le 03-03-2003 à 21:04:24  profilanswer
 

Harkonnen a écrit :


c'est faux !! n'en rajoute pas !!
 
if strcmp(SDL_GetKeyName(event.key.keysym.sym), "Left" )
est juste !

faux tous les 2
strcmp renvoie 0 si les 2 chaines sont égales

n°322132
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2003 à 21:05:20  profilanswer
 

CtHuLhU50 a écrit :

Harkonnen ca marche merci ;)


ne me remercie pas, mais remercie Taz qui nous a rafraichi la mémoire avec les fonctions du C.
 
(putains de langages objets...)


---------------
J'ai un string dans l'array (Paris Hilton)
n°322134
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2003 à 21:06:53  profilanswer
 

++Taz a écrit :

faux tous les 2
strcmp renvoie 0 si les 2 chaines sont égales


 
if (!(strcmp(SDL_GetKeyName(event.key.keysym.sym), "Left" )))
 
putain, j'ai trop perdu le C standard  :sweat:  


---------------
J'ai un string dans l'array (Paris Hilton)
n°322141
Taz
bisounours-codeur
Posté le 03-03-2003 à 21:09:06  profilanswer
 

je ais te critiquer encore: j'aime pas trop les !, je préfère un ==0 explicite, ça evite de faire cette gymnastique périlleuse et non fondée. chacun est libre, mais faudrai pas croire que ! est plus performant que ==0

n°322262
LeGreg
Posté le 04-03-2003 à 08:40:59  profilanswer
 

++Taz a écrit :

je ais te critiquer encore: j'aime pas trop les !, je préfère un ==0 explicite, ça evite de faire cette gymnastique périlleuse et non fondée. chacun est libre, mais faudrai pas croire que ! est plus performant que ==0


 
ca depend comment sont surchargés les opérateurs.
(bon ok. c'est du C..)
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°322491
Taz
bisounours-codeur
Posté le 04-03-2003 à 13:25:44  profilanswer
 

en C, y a pas de surcharge

n°322600
pascal_
Posté le 04-03-2003 à 15:11:39  profilanswer
 

Citation :


printf("La touche %s a été préssée!\n",SDL_GetKeyName(event.key.keysym.sym));  
if (SDL_GetKeyName(event.key.keysym.sym)=='left';) printf("Lfgdg" );  

 
 
Et pourqoi pas :  
 
if( event.key.keysym.sym == SDLK_LEFT ) ....

n°322625
dsls
Posté le 04-03-2003 à 15:36:50  profilanswer
 

pascal_ a écrit :

 
Et pourqoi pas :  
 
if( event.key.keysym.sym == SDLK_LEFT ) ....


C'est trop rapide, il vaut mieux perdre du temps et comparer des chaines de caractères  :ange:


Message édité par dsls le 04-03-2003 à 15:37:08
n°322822
LeGreg
Posté le 04-03-2003 à 18:53:11  profilanswer
 

++Taz a écrit :

en C, y a pas de surcharge


 
c'est ce que j'ai dit.
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°322851
Taz
bisounours-codeur
Posté le 04-03-2003 à 19:32:03  profilanswer
 

roger that

n°322958
polo021
Posté le 04-03-2003 à 21:27:43  profilanswer
 

mdr. fire in the hole

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C]condition string qui marche pas !

 

Sujets relatifs
Javascript marche plus :([JS] setattribute marche pas !
POST Request : comment ça marche ? + SSLstring ou char * ?
Pourquoi ma regexp ne marche pas ?Existe-t-il qqch comme EasyPHP qui marche avec PostGres ? (pas MySQL)
SSL/PHP comment ca marche ?cout marche plus apres cin.getline
:/ pourquoi ca ne marche pas???post et pres condition
Plus de sujets relatifs à : [C]condition string qui marche pas !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR