noSnoR
Messages postés62Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention11 avril 2006
-
16 mars 2005 à 19:24
steve_clamage
Messages postés475Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention11 août 2006
-
17 mars 2005 à 08:37
Je programme depuis peu de temps, et j'ai besoin d'initialiser une chaine de characteres automatiquement... mersi de m'aider
steve_clamage
Messages postés475Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention11 août 20065 17 mars 2005 à 08:37
char *str = "Hello"; (en C++ const char *str="Hello")
str est ici un pointeur initialisé avec l'adresse d'une chaine constante (pas de modifications possible).
char str[] = "Hello";
str est un tableau de strlen("Hello")+1 (ou sizeof "Hello")
caractères initialisé avec une chaine constante (donc modifiable, mais
taille limité à celle de la chaine d'initialisation).
char str[256] = ""; équivalent à char str[256] = {0}
str est un tableau de 256 caractères initialisé avec des zeros ('\0').
char str[256] = "Hello";
str est un tableau de 256 caractères initialisé avec une chaine constante, le reste du tableau contenant des zeros.
EMSIEN
Messages postés194Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention11 juin 2009 16 mars 2005 à 23:01
Bonjour Pour ma part voici ma version ou plutôt ma façon d'initialiser ma chaine de caractère:
1-soit si tu connais deja sa taille par exemple (10caractère au maximum) tu feras
char chaine[10]={"ta chaine"};
2-si tu connais pas la taille tu fais:
char *chaine={"ta chaine"};
mais je crois que tu devras pas dépasser 255 caractères
essaie ce truc et Bonne chance pour la suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
EMSIEN
Messages postés194Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention11 juin 2009 16 mars 2005 à 23:17
Je crois que new est en C++,mais je sais pas si cette personne programme en ou c++,
en tt cas j'ai besoin tibob51 stp en parlant de ça d'allouer un vecteur de chaine(vecteur contenant des string)
jarrive pas à le faire ni avec malloc(c) ni avec new(c++)
voici mon vecteur
char *chaine[10]={''....",".....",.........,"...."}
10 représente le nombre de chaines de mon vecteur et je cherche une façon dynamique pour pouvoir allouer et libérer la mémoire.
Merci d'avance
jul39dole
Messages postés117Date d'inscriptionmardi 22 juillet 2003StatutMembreDernière intervention21 janvier 2011 16 mars 2005 à 23:25
suite au post de tibob51 :
ne pas oublier de faire un delete [] pC, sinon gare au fuite mémoire...
Qd tu parles de vecteur, tu parles de la classes vector de la stl ? ou c'est juste pour désigner un tableau de tableau ?
=>Dans le premier cas :
#include <vector.h>
vector<char*> v;
v.push_back(chaine1); // pour ajouter dans le vecteur
// v[0] pour y accéder
=>Dans le deuxième cas :
char** chaine; //pointeur de pointeur, assez technique !
chaine= new char*[2];
chaine[0]=new char[20];
chaine[1]=new char[15];
//chaine[0] : accède à la première chaine
//et à la fin, ne pas oublier de tout effacer
delete [] chaine[0];
delete [] chaine[1];
delete [] chaine;
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 16 mars 2005 à 23:29
Merçi jul39dole de ta corection j'avias oublié.
EMSIEN par contre j'ai eu un peu de mal a piger ton problème si c
ce que je pense la proposition de jul39dole est bonne.
A++;
EMSIEN
Messages postés194Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention11 juin 2009 16 mars 2005 à 23:34
Je comprends ce que tu dis,mais pour mon ou plutot mon but derière tt ça et de réaliser un menu paramétré ou je lui envoie un vecteur(tableau) de chaines et il prends la *chaine[0] comme titre et les autres éléments comme choix du menu pour que ça soit clair pr vs voici mon MSN: [mailto:shkaff@hotmail.com shkaff@hotmail.com] comme ça je pourrais vous envoyer mon prog pr mieux comprendre mon prob et merci encore à ts.
jul39dole
Messages postés117Date d'inscriptionmardi 22 juillet 2003StatutMembreDernière intervention21 janvier 2011 16 mars 2005 à 23:57
rien ne t'empêche de passer en paramètre de fonction soit &v, ou chaine (en reprenant mes exemples), libre à toi de les exploiter comme tu veux, pour remplir tes menus, ou autre...