Transformer une chaine ''ABCDEF'' en ''EFABCD'' ? [C/C++] - Programmation
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
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
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 ?
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 ( )
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"
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>
@+
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> @+ |
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...
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]