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

DakM 65 Messages postés jeudi 20 janvier 2005Date d'inscription 25 juin 2010 Dernière intervention - 24 mars 2005 à 02:24 - Dernière réponse : steve_clamage 475 Messages postés dimanche 3 octobre 2004Date d'inscription 11 août 2006 Dernière intervention
- 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
NitRic 409 Messages postés mardi 1 mai 2001Date d'inscription 15 août 2011 Dernière intervention - 24 mars 2005 à 05:28
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 ::.)~

Merci NitRic 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de NitRic
steve_clamage 475 Messages postés dimanche 3 octobre 2004Date d'inscription 11 août 2006 Dernière intervention - 24 mars 2005 à 18:48
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
NitRic 409 Messages postés mardi 1 mai 2001Date d'inscription 15 août 2011 Dernière intervention - 25 mars 2005 à 03:17
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
steve_clamage 475 Messages postés dimanche 3 octobre 2004Date d'inscription 11 août 2006 Dernière intervention - 25 mars 2005 à 08:05
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.