Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Longueur de chaine (classique newbie) [ Archives / Au secours ] (atlas189)

jeudi 25 novembre 2004 à 20:38:41 | Longueur de chaine (classique newbie)

atlas189

Bonjour , je débute en c++
Pourriez-vous corriger mon code .Le principe est de renvoyé la longueur d'une chaine tapée au clavier .Merci
Bon c'est archi-classique et j'aie fait une recherche sur le forum
http://www.cppfrance.com/forum.v2.aspx?ID=93656

Cependant je m'applique à faire du c++ et j'aie cru comprendre qu'il était déconseillé d'utiliser des char (propre au C seulement)

Alors comment coder ?

Voici le code
Code:

#include <iostream>
#include <cstring> // pour brancher les fonctions de gestion des strings
//#include <algorithm>
using namespace std;

string chainetapee;
string nbcaract;

int main()
{
cout<<"Taper une chaine de caractère"<<endl;// affiche la phrase concernée
cin>>chainetapee;/*attend la frappe clavier*/
nbcaract = strlen(chainetapee);//renvoie le nombre de caractère dans la chaine
cout<<"Donc le nb de caractère ="<<nbcaract<<endl; //affiche le nombre de caractère
}



Et voici mon message d'erreur à la compilation .Je pense que ça coince entre ce qui est spécifique au C et ce qui est spécifique au C++

Code:

lgchaine.cpp: In function `int main()':
lgchaine.cpp:13: error: cannot convert `std::string' to `const char*' for
argument `1' to `size_t strlen(const char*)

jeudi 25 novembre 2004 à 21:29:56 | Re : Longueur de chaine (classique newbie)

djl

oui,

#include <string>



string::size_type nbcaract = chainetapee.size();

jeudi 25 novembre 2004 à 22:30:50 | Re : Longueur de chaine (classique newbie)

atlas189

Ça marche impec !Mais

Tu peux développer un peu si il te plait .

string::size_type nbcaract = chainetapee.size();

J'aurais besoin d'être linker sur un(des) bon tuto(s) expliquant cette façon d'écrire .
Jusqu'a présent je ne suis tomber que sur des tutos et des fonctions du C
Tres peu sont orientés franchement c++

.size est visiblement une fonction propre au c++ . (Je trouverais les reste des fonctions dur MSDN Microsoft ; il me manque juste de solides explications c++)

jeudi 25 novembre 2004 à 22:58:08 | Re : Longueur de chaine (classique newbie)

djl

size_type est un type membre de la classe string (model basic_string<>), c'est typedef d'entier non signé

size() est une methode membre (inline) de la classe string, elle retourne le nombre de caractere de la chaine (size_type)

http://casteyde.christian.free.fr/online/cours_cpp/book1.html

à partir de I.8, c'est specifique au c++

vendredi 26 novembre 2004 à 08:43:08 | Re : Longueur de chaine (classique newbie)


Cette discussion est classé dans : code, chaine, char, longueur, classique


Répondre à ce message

Sujets en rapport avec ce message

ajouter la longueur de la chaine à unsigned char * [ par DoudouBidou ] Bonjour, j'ai encore un problème avec une variable unsigned char * ma variable contient au maximum 255 caractere et je dois ajouter la longueur reel [.net c++] explication d'un code [ par stgi02 ] <span lang="EN-GB" style="FONT-SIZE: 10pt; COLOR: bl pb de code source [ par Peabody ] Bonjour à tous,Alors voila je debute en C et mon programme a un petit problème.Voici le code source:#include #include #define maxi 5void main (void){  Conversion int 2 char [ par DeadStarXt ] Bonjour, Voila, je souhaiterai convertir un entier en chaine de caractère pour l'afficher après manipulation de cette chaine. Coment faire ? Merci récupérer la longueur d'un char? ^^ [ par YOHANONEILL ] bonjour, j'aurais aimé savoir comment récupérer la longueur d'un char? la question est conne mais je trouve pas ^^       size(char) sa marche po je su ligne de commande en Unicode [ par cesquerr ] Bonjour,j'ai un probleme avec le passage a l'unicode de certains logiciels. Lorsque je veux les ouvrir a partir d'une ligne de commande, comme j'ai de fichie texte [ par cedric3456 ] bonjour je suis tres nul en c++ je debute pouvez vous m'aidez je cherche a faire 3 fonction sur Dev-C++ 4.9.9.2fonction :ecrire (nom_fichier,chaine_ch Probleme avec des pointeurs [ par KissyFroth ] Voici mon code : char * t1 = new char [30]; char * t2 = new char [40]; //Les chiffres ne sont pas exact mai c pas grave cout << strlen(t1) << "\n"; c Ordre dans les déclarations de variables ??! [ par vincemail ] Bonjour à tous, je suis en train de faire un programme en C++ avec devC++, et je viens de trouver un bug que je n'arrive pas à comprendre, je veux sto petit problême de chaine [ par Cphil51 ] Je débute en C++ et j'ai un petit problême avec mon code. J'ai créé une fonction qui prend en argument une chaine et un entier et qui retourne les n p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.