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

 


Dernière réponse
Sujet : A l'aide, problème de prog réseaux en C
phlb il manque le nul terminal string '' c'est une chaine de 5 octets qu'il faut déclarerss
 
HELO[0]='H'
HELO[1]='E'
HELO[2]='L'
HELO[3]='O'
HELO[4]=''=>0x00 en hexass
 
Le printf va lire la mémoire jusqu'a ce qu'il trouve 0x00, tu as de la chance de pas avoir un exception.

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
phlb il manque le nul terminal string '' c'est une chaine de 5 octets qu'il faut déclarerss
 
HELO[0]='H'
HELO[1]='E'
HELO[2]='L'
HELO[3]='O'
HELO[4]=''=>0x00 en hexass
 
Le printf va lire la mémoire jusqu'a ce qu'il trouve 0x00, tu as de la chance de pas avoir un exception.
zezette moi j'aurais mis %s plutot que %c ...

 

fred777888999 Le caractère d'echapement y sera automatiquement, si on reserve assez de place en mémoire... La déclaration correcte est :
char HELO[5] = "HELO";
qui reserve 5 octets et commence à l'indice zéro pour finir à l'indice 4 par le fameux 0 de fin de chaîne.

 

la viper printf("On affiche HELO %s", HELO);
devrait fonctionner ..
 
attention le caractere d'echappement doit etre dans HELO

 

gilou2 HELO est un tableau de char.
Quand tu l'utilise dans printf, il est vu comme un pointeur sur char (char *).
Donc au lieu d'empiler un char (1 octets), tu empile un pointeur (4 octets). Le printf affiche le charactere mis dans l'octet de poids faible du pointeur HELO.
 
Si tu veux afficher HELO, fais comme ceci :
printf("On affiche HELO %c%c%c%c", HELO[0], HELO[1], HELO[2], HELO[3]);

 

binary_man Salut à tous, j'ai un petit pb en prog réseaux.
En effet, dans le but de m'initier à la prog réseaux, j'ecris un petit prog permettant l'envoi de E-Mail "anonyme".
Mon problème est le suivant: Je me connecte au serveur et reçois le code 220 m'indiquant qu'il est prêt, ensuite je lui envoie HELO ESMTP et la, il reste de glace (c.à.d qu'il renvoie toujours le code 220).
Je pense que la commande envoyé n'est pas prise en compte, j'ai pourtant essayé pour valider d'envoyer "
", "<CRLF>" mais cela n'y fait rien, qqu'un pourrait m'aider ??
Autre problème, que je vais illustrer par un bout de source:
 
...
char HELO[4] = "HELO";
printf("On affiche HELO %c", HELO);
...
 
Ce code affiche "On affiche HELO" suivi d'un caractere relativant etrange: que ce passe t-il ??
Merci d'avance à tous.
Si vous pouviez me repondre à l'adresse suivante, cela serait fors sympathique : binary_man@caramail.com

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR