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

 


Dernière réponse
Sujet : [C/C++] Conversion de pointeurs
juju_le_barbare

legreg a écrit a écrit :

Ecoute c'est un forum d'entraide,  
je ne suis pas la pour te dire que tu es nul ou que tu es un dieu
par contre, c'est un conseil que je te donnais
de continuer a potasser un bouquin serieux (style le langage C)
evidemment tu es libre de le suivre ou pas.
 
Sinon pour convertir un entier en char, ta methode ne peut pas marcher, essaie plutot avec atoi (dans stdlib).
 
A+
LeGreg




 
 
salut,
 
tu aimes les extrêmes toi ;)
Nul ou Dieu ;)
 
 
Bref, je connais la fonction atoi(), ou même strtol(), mais si j'ai posé cette question c'est juste par curiosité, histoire de connaître un peu mieux les pointeurs.
J'ai vu à la FNAC un livre sérieux sur la programmation système en C sous Unix (c'est ce qui m'intéresse), écrit par Christophe Blaess (qui traduit des pages man, c'est pour ça que son nom me disait quelque chose), mais ce superbe livre coûte 46 ? !!!
 
Nop j'ai pas cette somme désolé, donc si quelqu'un connaît un livre eccellent sur la programmation en C, au format PDF par exemple, mais tééchargeable, qu'il me le dise !!!!!!!
J'ai moyen de l'imprimer (même si il fait 1000 pages comme le bouquin cité ci-dessus...)
 
Merci d'avance


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
juju_le_barbare

legreg a écrit a écrit :

Ecoute c'est un forum d'entraide,  
je ne suis pas la pour te dire que tu es nul ou que tu es un dieu
par contre, c'est un conseil que je te donnais
de continuer a potasser un bouquin serieux (style le langage C)
evidemment tu es libre de le suivre ou pas.
 
Sinon pour convertir un entier en char, ta methode ne peut pas marcher, essaie plutot avec atoi (dans stdlib).
 
A+
LeGreg




 
 
salut,
 
tu aimes les extrêmes toi ;)
Nul ou Dieu ;)
 
 
Bref, je connais la fonction atoi(), ou même strtol(), mais si j'ai posé cette question c'est juste par curiosité, histoire de connaître un peu mieux les pointeurs.
J'ai vu à la FNAC un livre sérieux sur la programmation système en C sous Unix (c'est ce qui m'intéresse), écrit par Christophe Blaess (qui traduit des pages man, c'est pour ça que son nom me disait quelque chose), mais ce superbe livre coûte 46 ? !!!
 
Nop j'ai pas cette somme désolé, donc si quelqu'un connaît un livre eccellent sur la programmation en C, au format PDF par exemple, mais tééchargeable, qu'il me le dise !!!!!!!
J'ai moyen de l'imprimer (même si il fait 1000 pages comme le bouquin cité ci-dessus...)
 
Merci d'avance

LeGreg Ecoute c'est un forum d'entraide,  
je ne suis pas la pour te dire que tu es nul ou que tu es un dieu
par contre, c'est un conseil que je te donnais
de continuer a potasser un bouquin serieux (style le langage C)
evidemment tu es libre de le suivre ou pas.
 
Sinon pour convertir un entier en char, ta methode ne peut pas marcher, essaie plutot avec atoi (dans stdlib).
 
A+
LeGreg
juju_le_barbare

legreg a écrit a écrit :

juju tu programmais en quel langage avant?
 
parce que la tu vas ramer pour le C,
je te conseille de prendre un bouquin serieux
style le langage C de Kernighan et Ritchie
qui va t'apprendre tout ce qu'il faut savoir sur le C.
 
LeGreg




 
Bah dis tout de suite que je suis nul  :fou:  
Avant le C/C++ je faisais du Pascal.
ça fait depuis février 2002 que je fais du C/C++
J'ai acheté Un bouquin sur le C et un sur le C++, mais le petites subtilités telles celle-ci peuvent encore m'échapper si je n'y fais pas très attention (mais j'ai compris les explications que l'on m'a donné)
 
Si tu as du temps à perdre je peux t'envoyer (par mail) ce que je suis en train de faire depuis pas mal de temps ;)
 
++

LeGreg juju tu programmais en quel langage avant?
 
parce que la tu vas ramer pour le C,
je te conseille de prendre un bouquin serieux
style le langage C de Kernighan et Ritchie
qui va t'apprendre tout ce qu'il faut savoir sur le C.
 
LeGreg
juju_le_barbare

mrbebert a écrit a écrit :

Je vois pas très bien où est le problème.
a vaut l'entier pointé par le int *. C'est à dire que a vaut les 4 octets à cette adresse, interprétés comme un entier.




 
d'accord !!!
excusez mon ignorance  :D

mrbebert Je vois pas très bien où est le problème.
a vaut l'entier pointé par le int *. C'est à dire que a vaut les 4 octets à cette adresse, interprétés comme un entier.
verdoux

juju_le_barbare a écrit a écrit :

Bonjour,
En fait je crois (mais corrigez-moi) que :
 
1/ le 'char *' b est transformé en 'int *' avec ceci : '(int *)b)'
2/ l'entier a vaut ce qui est pointé par le 'int *' avec ceci : '*('
 
C'est bien ça ?
 




Oui donc l'affichage est cohérent.

juju_le_barbare :bounce:
juju_le_barbare Bonjour,
 
Si j'ai un 'char *' que je veux transformer en 'int' pour faire des opérations dessus, sans utiliser de fonctions, je
fais ceci :
 

Code :
  1. char *b = new char[2];
  2. strcpy(b, "6" );
  3. int a = (*((int *)b));
  4. cout << b << " - " << a << endl;


 
Mais au lieu d'afficher '6 - 6', il affiche '6 - 1108475958'.
En fait avec n'importe quel chiffre, il ajoute 1108475952.
 
Je dois donc taper 'int a = (*((int *)b)) - 1108475952;'
 
Mais c'est bizarre quand même, de plus j'ai pas trop compris l'instruction en elle-même.
En fait je crois (mais corrigez-moi) que :
 
1/ le 'char *' b est transformé en 'int *' avec ceci : '(int *)b)'
2/ l'entier a vaut ce qui est pointé par le 'int *' avec ceci : '*('
 
C'est bien ça ?


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