[C/C++] Transformer une chaine ''ABCDEF'' en ''EFABCD'' ?

Transformer une chaine ''ABCDEF'' en ''EFABCD'' ? [C/C++] - Programmation

Marsh Posté le 13-05-2001 à 14:30:00    

En gros : comment faire pour intervertir des caractères dans une chaine en C++ (j'utilise Borland c++ builder 5).
Merci

 

[edit]--Message édité par Ledid--[/edit]

Reply

Marsh Posté le 13-05-2001 à 14:30:00   

Reply

Marsh Posté le 13-05-2001 à 14:34:41    

#include <string>
string s="ABCDEF";
string s2= string(s,4,2)+string(s,0,4);
cout << s2;
 
le constructeur string(s,indice_debut,longueur_chaine) permet de definir des sous-chaines :hello:

Reply

Marsh Posté le 13-05-2001 à 14:44:17    

Erreur : undefined symbol "string"
Je réessaie

Reply

Marsh Posté le 13-05-2001 à 14:47:57    

string fait partie de la STL.
http://www.sgi.com/tech/stl/basic_string.html
 
D'ailleurs je me suis trompe dans le source plus haut.
C'est string.substring(size_type pos = 0, size_type n = npos) la bonne syntaxe... sorry  :(

Reply

Marsh Posté le 13-05-2001 à 14:53:21    

Euh... J'arrête pas d'avoir des erreurs de conversion de char * en string. K'est-ce que je fais ?

Reply

Marsh Posté le 13-05-2001 à 14:55:35    

Meme en specifiant comme ca :
string s("ABCDEF" ); ??
 
Sinon change de compilo, ou alors fait la manip a la main (en C) avec des memcpy ( :sarcastic: )

Reply

Marsh Posté le 13-05-2001 à 14:58:35    

Ok je vais essayer

Reply

Marsh Posté le 13-05-2001 à 15:05:52    

It works !!!
Merci bcp

Reply

Marsh Posté le 13-05-2001 à 15:06:23    

de rien ;)
ca renvoie bien CDEFAB ?

Reply

Marsh Posté le 13-05-2001 à 15:19:19    

Ben en fait je m'étais trompé dans l'ordre mais j'ai tout réarranger et maintenant ça marche.
Avec les modifications, ça retourne : "EFCDAB"

Reply

Marsh Posté le 13-05-2001 à 15:19:19   

Reply

Marsh Posté le 13-05-2001 à 17:12:07    

He tfrx:
 
Tu as ecris au debut de ton prog:
#include <string>
je pense que tu voulais ecrire:
#include <string.h>
@+


---------------
http://www.programmation-fr.com
Reply

Marsh Posté le 13-05-2001 à 17:44:39    

non non il a bien raison d'écrire #include <string> : les headers de la stl sont sans extension.
 

bigben2 a écrit a écrit :

He tfrx:
 
Tu as ecris au debut de ton prog:
#include <string>
je pense que tu voulais ecrire:
#include <string.h>
@+



Reply

Marsh Posté le 14-05-2001 à 10:18:16    

Comme tu utililises C++Builder tu peux aussi utiliser les AnsiString. C'est plus facile à utiliser que string du stl (je trouve), mais c'est pas aussi portable...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed