Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/05/2008, à 15:17

JérémieR

[Résolu]Couper un String à N caractères en C++

Bonjour à tous,
cela fait un petit moment que je cherche une fonction qui pourrait couper un string à un certains nombres de caractères, malheureusement sans succès.
Si quelqu'un a déjà eu à faire ce genre de chose, peut-il m'expliquer sa manière de procéder.
Je vous remercie d'avance.

Dernière modification par JérémieR (Le 06/05/2008, à 07:21)

Hors ligne

#2 Le 05/05/2008, à 16:44

elfoiros

Re : [Résolu]Couper un String à N caractères en C++

En C tu peux écrire :

#include <stdio.h>

int main(){

char *str = "Bite c'est un gros mot, meme si c'est une petite";

int i = 0;
int max = 20;

printf("Affichage des %d premiers caracteres de \"%s\"\n",max,str);

while ( *str && i < max){
 printf("%c",*str);
 i++;
 *str++;
}
printf("\n");
return 0;
}

Compiler : gcc string.c -o strng
Exécuter : ./string

Attention au codage utilisé, un accent peut compter pour 2 caractères. Remplace meme par même dans str pour voir.

Dernière modification par elfoiros (Le 05/05/2008, à 16:45)


Coluche : "Bite" c'est un gros mot, même si c'est une petite
Consultant e-commerce
Étude et realisation
Optimisation, maintenance

Hors ligne

#3 Le 05/05/2008, à 18:06

JérémieR

Re : [Résolu]Couper un String à N caractères en C++

Ok merci de ton exemple, j'essayerai demain.
J'aime beaucoup l'exemple. lol

Hors ligne

#4 Le 05/05/2008, à 19:31

robrob

Re : [Résolu]Couper un String à N caractères en C++

Tu peux essayer erase pour effacer la fin de ta string:

std::string texte = "il était une fois";
std::cout << texte << std::endl;
texte.erase(texte.begin()+2,texte.end());
std::cout << texte << std::endl;

Sinon tu as substr pour récupérer un morceau de ta string:

std::string texte = "il était une fois";
std::cout << texte << std::endl;
std::cout << texte.substr(0,2) << std::endl;

note: erase travaille sur des iterateurs alors que substr travaille sur des index

Dernière modification par robrob (Le 05/05/2008, à 19:32)

Hors ligne

#5 Le 06/05/2008, à 07:20

JérémieR

Re : [Résolu]Couper un String à N caractères en C++

Et bien robrob, je te remercie beaucoup c'est exactement ce que je voulais.

Autre petite question, ou l'as-tu trouver, j'ai fait le tour des fonctions de string.h sans la voir ?

http://www.linux-kheops.com/doc/man/man … ing.3.html

Encore une fois merci.

Hors ligne

#6 Le 06/05/2008, à 07:37

Luc Hermitte

Re : [Résolu]Couper un String à N caractères en C++

http://www.dinkumware.com/manuals/?manual=compleat&page=string2.html#basic_string

#7 Le 06/05/2008, à 10:06

JérémieR

Re : [Résolu]Couper un String à N caractères en C++

Merci beaucoup. wink

Hors ligne

#8 Le 06/05/2008, à 12:41

robrob

Re : [Résolu]Couper un String à N caractères en C++

JérémieR a écrit :

Autre petite question, ou l'as-tu trouver, j'ai fait le tour des fonctions de string.h sans la voir ?

string.h est un header de fonctions C (strcpy, strcmp, memcpy, etc.)

Ce que tu cherchais ce sont les méthodes C++ de la classe string. Ce n'est donc pas la même chose. En général pour trouver ce qui se rapporte à une classe je tape "c++ nom_de_classe" dans un moteur de recherche.

exemple: "c++ string" renvoie rapidement vers:
http://www.cppreference.com/cppstring/index.html

autre exemple: "c++ vector" renvoie rapidement vers:
http://www.cplusplus.com/reference/stl/vector/

(le 2ème site est bien fait je trouve, en tout cas je l'utilise régulièrement)

Dernière modification par robrob (Le 06/05/2008, à 12:42)

Hors ligne

#9 Le 06/05/2008, à 12:47

JérémieR

Re : [Résolu]Couper un String à N caractères en C++

Encore merci alors. wink

Hors ligne

#10 Le 06/05/2008, à 13:32

Luc Hermitte

Re : [Résolu]Couper un String à N caractères en C++

Ils sont justes, l'un comme l'autre, assez incomplets.
Peut-être pour le premier contact, leurs exemples sont appréciables, après il arrive un moment où il faut migrer vers des sites qui ont vraiment tout (dinkumware, roguewave, (GNU) lib std, ...)

#11 Le 06/05/2008, à 13:56

JérémieR

Re : [Résolu]Couper un String à N caractères en C++

Merci de vos conseils. wink

Hors ligne