Fonction chr(int c); en C++ [Résolu]

Messages postés
65
Date d'inscription
jeudi 20 janvier 2005
Dernière intervention
25 juin 2010
- - Dernière réponse : steve_clamage
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Dernière intervention
11 août 2006
- 25 mars 2005 à 08:05
Bonsoir,
je voudrais savoir quelle est la fonction chr() de php ou de mirc, en C++
(si elle existe)
merci d'avance

I'm a killing Master
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
409
Date d'inscription
mardi 1 mai 2001
Dernière intervention
15 août 2011
3
Merci
#include
using namespace std;

int main()
{

char ch = 'a';
int ascii = ch;

cout << ch << " - " << ascii << endl;
return 0;

}

tout simplement, un caractère == un nombre(code ascii)
dis toi qu'un `char` est un petit entier(sur 8bits) tout simplement

char chaine1[4] = {'a', 'b', 'c','\0'};
char chaine2[4] = {97, 98, 99, 0};

cout << chaine1 << " - " << chaine2 << endl;

ca va afficher: abc - abc

~(.:: NitRic ::.)~

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NitRic
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Dernière intervention
11 août 2006
0
Merci
Ne pas oublier que:


<li>contrairement au C, les char sont des char en C++ (force du typage oblige) mais les exemples de NitRic sont correctes (conversions implicites).</li>


<li>un char ne fais pas 8 bits mais CHAR_BIT bits (sinon comment le C ou le C++ pourraient etre portable ??).</li>


<li>le codage utilisé n'est pas forcement l'ascii (sur 7 bits), donc l'écriture {97, 98, 99, 0} n'est pas portable (sauf pour le 0 qui est fixé par la norme).
</li>
Commenter la réponse de steve_clamage
Messages postés
409
Date d'inscription
mardi 1 mai 2001
Dernière intervention
15 août 2011
0
Merci
heu ... 8bits == 1byte et d'après ce que je sais, un char == 1 octet(byte), non !?
pour le `typage` je suis d'accord, je ne code pas en C++ et j'ai pas fait attention
pour l'ascii je suis encore d'accord mais ce n'était qu'un exemple, désolé

Merci pour les précisions ...

~(.:: NitRic ::.)~
Commenter la réponse de NitRic
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Dernière intervention
11 août 2006
0
Merci
Oui un char est un byte, mais la notion de byte est particulière
en C et en C++ (la traduction correcte serait plutot multiplet) car
pour des raison de portabilité le char désign l'unité atomique
d'adressage de la machine et sizeof(char) est fixé à 1 (sizeof
retourne une taille en char - byte C/C++ - et non en octet).

Par exemple le poids en bits d'un entier de maniere portable est sizeof(int)*CHAR_BIT.

Il me semble que le C avais été développé sur une machine qui n'adressait que des mots (16bits) donc un char pesait 16 bits.
Commenter la réponse de steve_clamage

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.