Logo du forum
 

Forum TTH-News

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [C / C++ / C#] » Concaténer un caractère à une chaine en utilisant sa valeur ASCII
Login Mot de passe

2 visiteurs sur ce topic (0 membre(s), 2 invité(s) )


Auteur
Sujet : Concaténer un caractère à une chaine en utilisant sa valeur ASCII
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 9:48   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Voilà, j'aimerais séparer les champs (passés en paramètre) de ma "trame" par "$" suivi d'un caractère, par exemple $A785$B4578$C24654...$G85644. Pour éviter de concaténer caractère par caractère je voulais utiliser la valeur ASCII puis l'incrémenter.

J'ai donc le code suivant :

Code :


char j = 65; // j vaut A
   for(i=1;i<=7;i++){
      trame = strcat(trame,"$");
      trame = strcat(trame,&j);
      trame = strcat(trame,argv[i]);
      j++;
   }



et ça m'affiche des caractères bizarres après le $A :

$Aùø·8455484$Bùø·5...

Une idée d'où pourrait venir le problème ?

[message édité le 30-07-2007 @ 10:44 Par Zéphyr]

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 10:02   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Ah en fait ça m'affiche uniquement ces caractères quand je passe par Putty (connexion à distance sur la machine), sinon quand je regarde directement sur la machine, ça m'affiche ma trame correctement.

Est-ce que c'est quand même mal codé où c'est de la faute de Putty ? :)

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
icy
Administrateur
Membre # 871

 Avatar du membre
Lieu : Bxl

Messages :
23190 (3.79 par jour)


Score :

Message du 30-07-2007 @ 10:18   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

charset de putty ou de l'host ;)
----------
"May He touch you with His Noodly Appendage"
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 10:36   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Ouf ça vient pas de mon code. :D
Faut que je choisisse quel format dans Putty ? Avant j'étais en Latin-1, West Europe.

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 10:54   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Sur ma machine je suis en UTF-8 :
Code :


spelweb:/home/guillaume/c# locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=



et quand je mets UTF-8 sous PuttY, j'ai plus de caractères bizzares mais deux gros pâtés.

$A▒▒8...

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 15:55   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

En fait il semblerait que ça vienne pas de l'encodage, mais bien de mon code. Les caractères bizarres venaient du fait que j'essayais de lire la mémoire...

Donc me voilà revenu au point de départ : Comment concaténer un caractère à une chaîne en utilisant sa valeur ASCII ?

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
icy
Administrateur
Membre # 871

 Avatar du membre
Lieu : Bxl

Messages :
23190 (3.79 par jour)


Score :

Message du 30-07-2007 @ 16:29   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

chr(j)
----------
"May He touch you with His Noodly Appendage"
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 16:53   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Merci beaucoup pour ton aide, mais t'es sûr que ça existe ça ? Parce que j'ai droit à un beau "référence indéfinie vers « chr »" :siffle:

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
B2000
Administrateur
Membre # 185

 Avatar du membre
Lieu : France/Poitiers/juste à côté...

Messages :
9757 (1.56 par jour)




Message du 30-07-2007 @ 17:13   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

c'est quoi ce langage ? du C/C++ ?? y a pas de $ en debut de variable ? si c'est bien du C/C++ pourquoi ne pas utiliser le . (point) pour concatener ?

[edit]ca doit etre du C#, ceci expliquant l'absence de $[/edit]

[message édité le 30-07-2007 @ 17:15 Par B2000]
----------
Intel i5 2500K | Asus P8P67 Pro Rev3.1 | 2x Corsair Vengeance 4Go DDR3-12800 CAS 8 | Sandisk Ultra Plus 256Go | Sony AD-7280S | Logitech QuickCam Pro 5000 | Microsoft Natural Ergonomic 4000 | Logitech Cordless Optical Mouse | 2x Iiyama ProLite E2472HDD

Lenovo T430s : i5 3320m / 2x8Go / SAMSUNG 840 Pro 512Go / station Mini Dock serie 3 / LG 34um95 3440x1440 34" / SAMSUNG SyncMaster SA450 1920x1200 24"/ Clavier et souris Lenovo Ultraslim sans fil

Nexus 6 64Go Android 6.0.1 | Garmin Forerunner 305 | Nikon COOLPIX S9200 + Transcend SDHC 8GB | Canon PIXMA IP4850 | ADSL neufbox de SFR

Pour dialoguer en live, le chat TTH ou par mIRC sur irc://porsche.webchat.org:6667/tt-hardware

Rejoignez la team EBuyClub TTH !!!

Un jour j'ai mangé une pomme...
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 30-07-2007 @ 18:44   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

B2000 a écrit

c'est quoi ce langage ? du C/C++ ?? y a pas de $ en debut de variable ? si c'est bien du C/C++ pourquoi ne pas utiliser le . (point) pour concatener ?

[edit]ca doit etre du C#, ceci expliquant l'absence de $[/edit]



C'est du C. Et y'a pas besoin de $. ;)

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -
B2000
Administrateur
Membre # 185

 Avatar du membre
Lieu : France/Poitiers/juste à côté...

Messages :
9757 (1.56 par jour)




Message du 31-07-2007 @ 1:06   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

tellement l'habitude du php que j'aurais mis des $ partout :D (pourtant j'ai fait du C/C++ aussi a mes debuts)

ton probleme viendrait pas d'un fin de chaine manquant ?

[message édité le 31-07-2007 @ 1:09 Par B2000]
----------
Intel i5 2500K | Asus P8P67 Pro Rev3.1 | 2x Corsair Vengeance 4Go DDR3-12800 CAS 8 | Sandisk Ultra Plus 256Go | Sony AD-7280S | Logitech QuickCam Pro 5000 | Microsoft Natural Ergonomic 4000 | Logitech Cordless Optical Mouse | 2x Iiyama ProLite E2472HDD

Lenovo T430s : i5 3320m / 2x8Go / SAMSUNG 840 Pro 512Go / station Mini Dock serie 3 / LG 34um95 3440x1440 34" / SAMSUNG SyncMaster SA450 1920x1200 24"/ Clavier et souris Lenovo Ultraslim sans fil

Nexus 6 64Go Android 6.0.1 | Garmin Forerunner 305 | Nikon COOLPIX S9200 + Transcend SDHC 8GB | Canon PIXMA IP4850 | ADSL neufbox de SFR

Pour dialoguer en live, le chat TTH ou par mIRC sur irc://porsche.webchat.org:6667/tt-hardware

Rejoignez la team EBuyClub TTH !!!

Un jour j'ai mangé une pomme...
- Haut de page -
Zéphyr
Master
Membre # 11215

 Avatar du membre
Lieu : Caen

Messages :
655 (0.13 par jour)


Score :

Message du 31-07-2007 @ 9:23   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

B2000 a écrit

tellement l'habitude du php que j'aurais mis des $ partout :D (pourtant j'ai fait du C/C++ aussi a mes debuts)

ton probleme viendrait pas d'un fin de chaine manquant ?



En voulant te répondre j'ai trouvé la solution. :D

C'est tout con en fait, strcat attend une chaine de caractère pas UN caractère donc :

Code :


char id[] = {65, '\0'};
   for(i=1;i<=7;i++){
      strcat(trame,"$");
      strcat(trame,id);
      strcat(trame,argv[i]);
      id[0]++;
   }



Et j'ai bien $A86465$B56465...$G1456.

Merci à vous deux ! :)

----------
Les bretons sont des gens comme les autres et n'habitent pas très loin de la France. Les bretons sont nos amis, et nous devons les respecter comme des êtres humains.
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2010

Valid XHTML 1.0 Transitional

Page générée en 0.034 secondes