#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.
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.
Hors ligne
#8 Le 06/05/2008, à 12:41
- robrob
Re : [Résolu]Couper un String à N caractères en C++
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.
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.
Hors ligne