oui je sais j'avais envie de troller (quoique....)
bjone
un truc laid..... (très difficile d'imaginer plus laid, même l'assembleur est plus naturel)
MrX
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 ??
Mara's dad
En fait le problème vient du fait que le message est dans la rubrique "cobol" !
OK, je sors . . .
tanguy
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...
MrX
j'ai encore dit une connerie comme d'hab... sans espoir... merci du conseil
tanguy
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
MrX
c assez semblable, je prefere le char * . Thx pour l'aide
BENB
avec le char *
Code :
#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;
void main()
{
vector<char *> a;
a.reserve(10);
int i;
for (i = 0; i<10; i++)
{
a.push_back(newchar[50]);
itoa(i, a[i], 10);
strcat(a[i], " long long string" );
cout<<a[i]<<endl;
}
system("PAUSE" );
}
avec la string
Code :
#include <iostream>
#include <stdlib.h>
#include <vector>
#include <string>
using namespace std;
void main()
{
vector<string> a;
a.reserve(10);
int i;
for (i = 0; i<10; i++)
{
char tempo[50];
itoa(i, tempo, 10);
a.push_back(tempo)
a[i].append(" long long string" );
cout<<a[i]<<endl;
}
system("PAUSE" );
}
MrX
vector<char *> je vien d'essayer, ca marche trés bien, c mieux la string de chez STL ??
MrX
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
BENB
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
sinon pour le vector evite le resize qui ajoute des elements ert prefere le reserve()...
sinon tu peux aussi faire des vector<char *>...
El_gringo
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++
MrX
ben justement moi etre ignorant, moi pas connaitre hihi... STL, c t'y quoi dont ??
BENB
Pourquoi ne pas utiliser les string de la STL ?
MrX
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 :
Code :
#include <iostream>
#include <stdlib.h>
#include <vector.h>
struct string
{
char *str;
};
void main()
{
vector<string> a;
a.resize(10);
int i;
for (i = 0; i<10; i++)
{
a[i].str = newchar[50];//je doit faire ca pour chaque element de l'array, au secours !
itoa(i, a[i].str, 10);// pour verfier si l'array dynamique marche
strcat(a[i].str, " long long string...." );//pour verifier que je pe mettre plein de characteres...
cout<<a[i].str<<endl;
}
system("PAUSE" );
}
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...