faire un array dynamique de strings... [C, C++] - Programmation
Marsh Posté le 29-11-2002 à 16:51:03
ben justement moi etre ignorant, moi pas connaitre hihi... STL, c t'y quoi dont ??
Marsh Posté le 29-11-2002 à 16:58:09
MrX a écrit a écrit : ben justement moi etre ignorant, moi pas connaitre hihi... STL, c t'y quoi dont ?? |
Standard Template Library, vector en fait partie !
C'est la librairie standard du C++
Marsh Posté le 29-11-2002 à 16:59:04
C'est une partie de la library standard du C++... d'ou tu sort ton vector d'ailleurs...
a ce propos #include<vector.h> ca marche ?
Ce devrait-etre <vector> sans le .h
de meme pour les string #include<string>
http://www.sgi.com/tech/stl/basic_string.html
sinon pour le vector evite le resize qui ajoute des elements ert prefere le reserve()...
sinon tu peux aussi faire des vector<char *>...
Marsh Posté le 29-11-2002 à 17:02:38
aye j'ai lu un truc sur le stl, j'ai pigé ! (c rare par malheur...)
Merci pour le lien je vais m'y collé.
reserve connaissais po, y avait que resize dans mon tutorial
ben vala merci
Marsh Posté le 29-11-2002 à 17:05:45
vector<char *> je vien d'essayer, ca marche trés bien, c mieux la string de chez STL ??
Marsh Posté le 29-11-2002 à 17:13:22
avec le char *
Code :
|
avec la string
Code :
|
Marsh Posté le 29-11-2002 à 18:53:57
c assez semblable, je prefere le char * . Thx pour l'aide
Marsh Posté le 29-11-2002 à 20:28:40
MrX a écrit a écrit : je prefere le char * |
NAN surtout pas !
il faut bruler les char *
habitue toi a programmer avec les string
- c'est beaucoup plus simple et de beaucoup
- c'est plus secure (pas de buffer overrun ou overflow)
- pas de fuite memoire car on doit pas gerer les malloc() et free()
- plus puissant : pleins de methods integrees utiles
- facilement convertissable avec la methode c_str()
- surement pleins d'autres avantages
le truc bien pourris en C c'est les char *
dire que Pascal qui a ete invente avant le C possede une classe string...
aouais au passage, y'a quelqu'un qui sait par quoi est remplace strtok() pour la classe string ?
parceque strtok ca sucks, y'a du static a l'interieur donc impossible de multithreader et puis ca fonctionne avec des char *, berk
Marsh Posté le 29-11-2002 à 20:36:56
j'ai encore dit une connerie comme d'hab... sans espoir... merci du conseil
Marsh Posté le 29-11-2002 à 20:57:02
MrX a écrit a écrit : j'ai encore dit une connerie comme d'hab... sans espoir... merci du conseil |
nan t'as fait comme la majorite des gens qui connaissent pas et donc qui subisent le mauvais design du C et donc du C++
pour programmer proprement en C et en C++ il faut le vouloir, en Java par exemple c'est deja beaucoup plus facile
tout le monde a ete comme toi au depart et beaucoup le sont encore avec plusieurs annees d'experience parcequ'ils ne sont pas aware
le pire c'est de voir qu'il y a de nombreux projects qui sont actuellement developpes en C++ avec des char *
pourtant le nombre de bugs qui pourraient etre supprime en remplacant les char* par des string...
Marsh Posté le 29-11-2002 à 21:06:20
En fait le problème vient du fait que le message est dans la rubrique "cobol" !
OK, je sors . . .
Marsh Posté le 30-11-2002 à 17:02:21
lol j'ai encore fait mon sujet a le vas vite alors j'ai pas fait gaffe et pis vala... au fait cobol c koi ??
Marsh Posté le 30-11-2002 à 17:56:05
un truc laid..... (très difficile d'imaginer plus laid, même l'assembleur est plus naturel)
Marsh Posté le 29-11-2002 à 16:48:00
euh vala, moi j'utilise la class vector de vector.h pour mes array dynamique, mais quand je ve faire un truc du genre:
vector<char[50]> string; il me pond un troll.... Par example quand je ve redimensionner l'array, il ve fait une erreur de compilation... et c'est po bo, snif
J'ai fait un truc moi meme qui marche mais c trés laid :
Ben vala, j'avais prevenu c'est trés moche... Il doit y avoir bien plus propre que ca pour faire ca que je veux, a moins qu'il y ai une class faite exprés pour ca, a moins que j'utilise les vector n'importe comment, ou qu'il y ai mieux que les vector...