Tableau de pointeru sur chaine de car. [C++] - C++ - Programmation
Marsh Posté le 15-05-2004 à 19:48:13
std::string var[20];
ou bien un std::vector< std::string >
tip of the day : tu fais du C++ et pas du C, ne 'loublie pas
Marsh Posté le 15-05-2004 à 19:50:41
Avant d'apprendre le C, tu devrais revoir le français. Il y au moins une faute tous les 4 ou 5 mots.
Marsh Posté le 15-05-2004 à 19:53:47
Taz a écrit : std::string var[20]; |
Oué c'est vrai mais les profs on tendance à nous faire utiliser les instructions de bases (donc souvent du c), mais ici pas de contraites du genre ^^
Pour utiliser ce que tu m'as dit il faut un include spécial ?
Je n'ais jamais utilisé cette classe et je trouves rien sur msdn.
Si j'ais bien compris à la place de
Code :
|
je mets ça
Code :
|
Edit avec un #include <string> ça passe
Pour le strcpy je dois utiliser quoi ? car là ça fonctionne plus
Code :
|
focément
Marsh Posté le 15-05-2004 à 19:55:09
#include<string>
Marsh Posté le 15-05-2004 à 20:00:38
xterminhate a écrit : #include<string> |
OK merci, tu as répondu pendant l'édit j'avais posté là question un peut trop tot (avant d'activer le cerveau en faite )
Pour le strcpy tu sais encor m'aider ? c'est le seul prob qu'il me reste encore dans le programme (la dll plutot).
Marsh Posté le 15-05-2004 à 20:15:38
tu dégages tes strcpy et tu fais à l'intuition
var[i] = "plop";
var[j] = autreString;
Marsh Posté le 15-05-2004 à 20:16:36
ReplyMarsh Posté le 15-05-2004 à 22:16:22
nightmare682 a écrit : Voilà j'ais une erreur si-urement tout conne mais je trouvez pas ou elle est |
Winner!
Marsh Posté le 16-05-2004 à 00:41:09
en français ici
http://casteyde.christian.free.fr/ [...] STRINGSECT
Marsh Posté le 16-05-2004 à 13:29:09
Ace17 a écrit : Winner! |
Désolé faut que j'arrettes de faire picoler mon clavier, il écrit vraiement n'importe comment apres
Marsh Posté le 16-05-2004 à 13:39:35
En faite j'ais un gros prob, c'est que la string je dois l'ajouter à la fin d'une autre de type Char[80], j'utilisais strcat.
Le prob est que je ne peux pas changer le type de cette chaine, je la passe dans cette fonction et j'utilise un tab de pointeur sur fonctions pour y arriver, donc je devrait changer toutes mes autres fonctions.
Je dois rendre ça demain tout marchait nikel mais j'avais oublié une petite partie, donc j'ais plus trop le temps de faire une grosse modif comme ça
J'vais essayer d'utiliser quand même strcpy il doit bien y avoir moyen, je gardes vos solutions pour les autres fois, ou je l'utiliserais dès le début du projet, ça me parrait quand même plus efficasse.
Marsh Posté le 16-05-2004 à 13:47:05
1) passe en tout string
2) tu peux on convertir temporairement une string en char* accessible en lecture seule
strcpy(char_etoile, ma_string.c_str());
Marsh Posté le 16-05-2004 à 14:04:54
nightmare682 a écrit : Désolé faut que j'arrettes de faire picoler mon clavier, il écrit vraiement n'importe comment apres |
encore!!! encore!!
Marsh Posté le 16-05-2004 à 14:34:23
Taz > grand merci à toi (et aux autres aussi)
Ace17 > Arrette tu vas vexer mon clavier ^^
EDIT : me revoila
Bon j'ais vraiement du mal, mais j'ais encore un problème
J'ais mis ça pour tester suite au problème
Code :
|
il ne m'affiche que le contenu de Var[0]
std::string Var[20]; me déclare bien un "tableau" (ou une autre structure) avec 20 string ?
je crois que je suis pas doué pour le C++ (oui Ace17 je sais pour l'orthographe non plus)
Marsh Posté le 16-05-2004 à 15:10:00
si ta besoin que Retour soit un c-style string, tu fait tout avec std::string et tu converti a la fin
Marsh Posté le 16-05-2004 à 15:16:40
skelter a écrit : si ta besoin que Retour soit un c-style string, tu fait tout avec std::string et tu converti a la fin |
Ben c'est pas vraiment ça le problème,
quand je fais ça
Code :
|
Ca fonctionne, mais c'est lorsque que je met quelques chose dans les autre élément de Var que ça ne fonctionne plus, je ne sais aps si c'est quand je met dedasn ou quand je vais le rechercher.
par exemple
Code :
|
ça ne me met rien dans Retour.
Marsh Posté le 16-05-2004 à 15:41:36
?
Code :
|
Marsh Posté le 16-05-2004 à 16:27:43
skelter a écrit : ?
|
1 aucun intérêt à utilisert un vector
2 tu ne sais pas te servir de strncpy, son usage est d'ailleurs tout à fait inutile ici.
Marsh Posté le 16-05-2004 à 16:32:45
skelter a écrit : ?
|
C'ets bon c'était une errur de ma part, c'est résolu, merci à tout le monde pour l'aide (et les correction d'orthographe )
Marsh Posté le 16-05-2004 à 16:34:55
oui c'est strcpy
l'utilité d'un vector ? ba j'ai remplacé son tableau par un vector, c'est tout, c'est sur que la c'est completement inutile
Marsh Posté le 15-05-2004 à 19:33:56
Voilà j'ais une erreur si-urement tout conne mais je trouvez pas ou elle est
j'ais un tableau de pointer sur chaine de char.
un tableau de char (donc une chaine de car)
SizeLine est = à 80
et quand j'essaye de copier un chaine de car dasn le tab j'ais une crois blanche sur fond rouge (memoir ne peut pas être read)
nbVar est bien en dessous de 20 et la chaine fini bien par \0, je vois vraiement pas comment faire, j'ais surement oublié un truc à la c*n quelque part mais je trouve pas où et ça me prend la tête.