Fonction chr(int c); en C++

Résolu
DakM Messages postés 65 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 25 juin 2010 - 24 mars 2005 à 02:24
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre 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
A voir également:

4 réponses

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
24 mars 2005 à 05:28
#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 ::.)~
3
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
24 mars 2005 à 18:48
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>
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
25 mars 2005 à 03:17
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 ::.)~
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
25 mars 2005 à 08:05
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.
0
Rejoignez-nous