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

  FORUM HardWare.fr
  Programmation
  C

  Utilité des parenthèses - (char)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilité des parenthèses - (char)

n°1306038
b777
Posté le 15-02-2006 à 12:51:27  profilanswer
 

Bonjour,
 
En bidouillant et en cherchant un peu sur le net, j'ai trouvé une "astuce" et ça resoud mon problème, sympa hein :)
C'est :

Code :
  1. fprintf(out,"%c",(char) i);


en mettant des parenthèses autour de char
 
Je voulais juste savoir à quoi servait ces parenthèses... :??: si vous avez une explication ou un lien vers de la doc, je prend
merci :)

mood
Publicité
Posté le 15-02-2006 à 12:51:27  profilanswer
 

n°1306042
francky06l
Posté le 15-02-2006 à 12:53:24  profilanswer
 

C'est un cast, i est probablement un int et %c represente un char donc tu caste int en char.

n°1306055
Emmanuel D​elahaye
C is a sharp tool
Posté le 15-02-2006 à 13:11:45  profilanswer
 

b777 a écrit :

En bidouillant et en cherchant un peu sur le net, j'ai trouvé une "astuce" et ça resoud mon problème, sympa hein :)
C'est :

Code :
  1. fprintf(out,"%c",(char) i);


en mettant des parenthèses autour de char
 
Je voulais juste savoir à quoi servait ces parenthèses... :??: si vous avez une explication ou un lien vers de la doc, je prend
merci :)


Il est temps d'ouvrir un livre de C (dés références sur mon site). Le typecast est une des opérations élémentaires du langage (abus dangereux).
Il faut cesser de programmer au hasard.
 
http://mapage.noos.fr/emdel/images/c_warn.png


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1306360
Sve@r
Posté le 15-02-2006 à 15:36:22  profilanswer
 

b777 a écrit :

Bonjour,
 
En bidouillant et en cherchant un peu sur le net, j'ai trouvé une "astuce" et ça resoud mon problème, sympa hein :)
C'est :

Code :
  1. fprintf(out,"%c",(char) i);


en mettant des parenthèses autour de char
 
Je voulais juste savoir à quoi servait ces parenthèses... :??: si vous avez une explication ou un lien vers de la doc, je prend
merci :)


 

francky06l a écrit :

C'est un cast, i est probablement un int et %c represente un char donc tu caste int en char.


 
Pour faire suite à "francky06l", le "cast" vient de l'anglais "cast" qui signifie "jouer un rôle" et qui a donné le "casting" au cinéma.
Ta variable "i" (mettons qu'elle soit "short" ) est considérée, à cet endroit, comme un "char" et les 8 bits de poid fort disparaissent. Si elle contient une valeur plus grande que 255, cette valeur est tronquée à "modulo 255".
 
Il existe des cast dits "implicites" car ils sont faits de façon naturelle

int a;
char b;
b=a;   // Ici, "a" est implicitement converti en "char" pour être copié dans "b"
a=b;   // Ici, "b" est implicitement converti en "int" pour être copié dans "a"


 
Le code que tu montres est un cast "explicite" car tu écris le type voulu toi-même. Dans ton cas à toi, il n'est pas obligatoire. Mais il peut l'être aileurs... Exemple:

int a=10;
int b=3;
double c;
double d;
 
c=a/b;
d=(double)a / (double)b;


Si tu affiches "c", tu auras "3.00000" car "a" et "b" étant des "int", l'opération s'est faite en "int" et le résultat "3" a été casté en double.
En revanches, si tu affiches "d", tu auras bien "3.33333" car, pendant la division, "a" et "b" auront été considérés comme des "doubles".
De plus, comme durant une opération l'ensemble des valeurs est convertie dans le type le plus large de tous les types présents, on n'est pas obligé de mettre un cast sur les deux opérandes => "c=(double) a / b"  est bien suffisant...
 


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

  Utilité des parenthèses - (char)

 

Sujets relatifs
fonction qui retourne code HTML d'un char spécial[C]Afficher une var int sous la forme d'un char
[SQL] (noob) difference entre char et varcharUtilité du ||
char[Reflectoin] doublons avec GetMethods pour le type Char
char, signed char et unsigned char et les référencesconcatener des "phrases" dans un char*
System.Char[]atl/com consomateur ole db, % char dans db
Plus de sujets relatifs à : Utilité des parenthèses - (char)


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)