Class String de la STL - C++ - Programmation
Marsh Posté le 03-05-2004 à 14:12:48
#include<string>
using namespace std;
string maChaine("Hello" );
http://www.sgi.com/tech/stl/basic_string.html
Marsh Posté le 03-05-2004 à 14:38:32
Code :
|
J'ai un code comme ca qui fonctionne.
Comment modifier ce code pour ne pas utiliser de Char* et pour que ca marche ???
J'arrive pas avec String!!!!!!!!!!!
Marsh Posté le 03-05-2004 à 14:52:56
oui il compile, oui il tourne mais sinon il est complètement dangereux
en c++ on utilise les string, non pas parce que cai plus c++, mais surtout pour éviter aux débutants comme toi de faire absolument n'importe quoi avec les char * comme ici
Marsh Posté le 03-05-2004 à 14:58:16
Code :
|
Marsh Posté le 03-05-2004 à 15:07:02
effectivement, je comprend plus grand chose. lol
Mais au moins je vais progresser !!!
Marsh Posté le 03-05-2004 à 21:20:04
Passer des char* en parametre sans jamais passer de longueur, c'est un peu comme faire de la voltige sans filet. Au premier oubli d''\0' terminal (et non "\0", comme j'ai fait récemment ici-même), crac, la sanction est immédiate et définitive.
Visiblement, tu aimes le risque.
Heureusement, Mr C++ a inventé le string (pas de mauvaise plaisanterie, SVP). Avec la classe string, tu passes les chaines en paramètres sans avoir à gérer leurs longueurs, et ce sans aucun risque d'écrasement mémoire, et en plus, cette classe a le bon goût de venir avec tout un tas de méthodes bien pratiques pour le traitement des chaines de caractères.
Donc oui, il faut utiliser les string.
Si tu ne comprends pas le code de Taz, c'est qu'il est temps de prendre un bon bouquin de C++ et de le potasser (voir Biblio links C++).
Marsh Posté le 04-05-2004 à 12:16:48
Si j'utilise mon code en remplacant tous les char* par des String, c'est correct ???
Marsh Posté le 04-05-2004 à 12:30:18
Oui, mais pour plus de détail, applique exactement les recettes données dans l'exemple de taz.
Marsh Posté le 03-05-2004 à 13:56:01
Je suis debutant,
j'ai lu qu'il fallait pas utiliser char* en c++.
On m'a conseillé d'utiliser la class String de la STL.
Est ce un bon conseille ? Je dois utiliser quel #include pour que ca marche??
Merci