Peut-on donner une longueur fixe à std::string

Résolu
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009 - 9 août 2004 à 01:13
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009 - 9 août 2004 à 18:37
Salut à tous,
Je voudrais savoir si c'est possible d'imposer une longueur fixe à la variable suivante : std::string var ?
A voir également:

17 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 16:14
bon donc au niveau des fonctions qui pourront modifier la taille de ta chaine tu a par exemple le +.
tu derives string en CString par exemple, et tu ecris la fonction

string CString::operator + (string Str)
{
cerr << impossible de concaténer deux chaines de type CString;

}

(je suis pas sur du profil)
ainsi, lorsque l'utilisateur va essayer de concatener deux cstring, au lieu d'avoir l'effet escompté et de concaténer les string en appelant la fonction membre de string, il va appeler celle de cstring qui "cache" lexistence de celle originale, et donc la concaténation n'est plus possible, a la place de fonctionner comme dans les strings, elle envoie un message d'erreur. mais attention, il n'ya pas que le +, tu as aussi les fonctions membbres insert, append, etc.....
3
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
9 août 2004 à 02:22
il me semble que nom, d'ailleur c'est pas dans a logique, tu n'a pas a te soucier de la taille
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 02:51
tu peux toujours tester a chaque nouvelle affectation que la taille n'excede pas celle prévue...ca depend ce que tu veux faire.
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 14:32
fé un héritage et surcharge les opérateurs de créations & de concaténation.

++

Magic Nono: l'informagicien!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
9 août 2004 à 14:39
ca risque d'etre dur, std::string n'a pas d'interface virtuelle
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 14:47
cest pas bien grave, jai deja derivé string plusieurs fois jamais eu de problemes. tu derives string, tu réecris les constructeurs en appelant le constructeur equivalent de la classe mere, et tu tu surcharges les fonctions qui modifient la longueur de la chaine, et basta
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 14:57
voilu pil poil ce que G dit

djl> vraiement po de pb...
leProv> merci de m'appuyer

++

Magic Nono: l'informagicien!
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
9 août 2004 à 15:01
pas de probleme tant qu'il s'agit de surcharge
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 15:02
c'est effectivement ce que voulais dire magic_nono.....j'espere en ts cas que cest clair pour marik tout ca. sinon demande, on te donnera des pistes plus claire....
0
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
9 août 2004 à 16:08
lu,
Merci pour tout ces conseils mais ca serait sympa d'avoir un petit exemple d'utilisation des surcharges d'opérateur pour modifier la longeur de la chaine.
Merci d'avance
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 août 2004 à 16:14
char mastring[48];

rapide comme surcharge et bien fixe en longueur, non ?

ciao...
BruNews, Admin CS, MVP Visual C++
0
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
9 août 2004 à 16:18
BruNews=>je n'utilise pas les char
Merci pour tes conseils leprov je crois que j'ai compris la méthodes
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 17:06
BruNews > C'est effectivement la premiere chose à laquelle on a ts pensé, mais, vu qu'il s'agit d'une base de chez base...
on est parti sur plus intéressant, dsl

marik> pb résolu dc
parcours bien les msdn ou tout autre référence pour etre sur de ne pas oublier une seule surcharge... car un oubli mettrait ton idée à plat.

leProv & marik > je vous déconseille d'employer le nom CString car cela risque d'amener des confusions avec les CString des MSDN.

Marik> mm si ce n'est pas le cas ds tes prg... je te conseille vraiement d'éviter...
personnellement, j'ai appelé mes bibliotheques avec un B (comme Bibli!)
=> BString (cf ds mes srces....)

Au fait, peux tu nous expliquer l'utilité de ce string fixe

Bonne prog

Magic Nono: l'informagicien!
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
9 août 2004 à 17:09
c'est quoi les CString msdn? jamais entendu parler (je debute a peine la prog windows, jusqu'a aujourd'hui jai juste fait de la prg unix...et j'ai pris l'habitude de faire debuter mes classe par C pour classe perso, mais si ds msdn ca existe.....bon bah on va changer ces habitudes de unixien.....
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
9 août 2004 à 17:17
la bibliotheque string des mfc
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 août 2004 à 17:20
effectivement, MFC, po MSDN.... merci d'avoir corrigé djl

Magic Nono: l'informagicien!
0
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
9 août 2004 à 18:37
c'était tout simplement une question pour savoir si cété possible de déterminer une taille limite à un string mais je ne pense pas l'utiliser car je n'en vois pas l'utilité.

Magic_nono => Merci pour ces conseils sur les surchages d'opérateur je pense que ca pourrait me servir par la suite.

leprov=>Merci à toi aussi pour avoir pu répondre à la question.
0
Rejoignez-nous