Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1659 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++]Tableau de pointeru sur chaine de car.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++]Tableau de pointeru sur chaine de car.

n°726973
nightmare6​82
< >
Posté le 15-05-2004 à 19:33:56  profilanswer
 

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.
 

Code :
  1. char* Var[20];


 
un tableau de char (donc une chaine de car)
 

Code :
  1. char TempVar[SizeLine] = ;


 
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)
 

Code :
  1. strcpy(*(Var+nbVar),TempVar);


 
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.

mood
Publicité
Posté le 15-05-2004 à 19:33:56  profilanswer
 

n°726980
Taz
bisounours-codeur
Posté le 15-05-2004 à 19:48:13  profilanswer
 

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

n°726983
xterminhat​e
Si vis pacem, para bellum.
Posté le 15-05-2004 à 19:50:41  profilanswer
 

Avant d'apprendre le C, tu devrais revoir le français. Il y au moins une faute tous les 4 ou 5 mots.


---------------
Cordialement, Xterm-in'Hate...
n°726986
nightmare6​82
&lt; &gt;
Posté le 15-05-2004 à 19:53:47  profilanswer
 

Taz a écrit :

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


 
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 :
  1. char* Var[20];


 
je mets ça  
 

Code :
  1. std::string var[20];


 
Edit avec un #include <string> ça passe
 
Pour le strcpy je dois utiliser quoi ? car là ça fonctionne plus :/
 

Code :
  1. 'strcpy' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'char


 
focément


Message édité par nightmare682 le 15-05-2004 à 19:58:33
n°726989
xterminhat​e
Si vis pacem, para bellum.
Posté le 15-05-2004 à 19:55:09  profilanswer
 

#include<string>


---------------
Cordialement, Xterm-in'Hate...
n°726992
nightmare6​82
&lt; &gt;
Posté le 15-05-2004 à 20:00:38  profilanswer
 

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  :D )
 
Pour le strcpy tu sais encor m'aider ? c'est le seul prob qu'il me reste encore dans le programme (la dll plutot).

n°726998
Taz
bisounours-codeur
Posté le 15-05-2004 à 20:15:38  profilanswer
 

tu dégages tes strcpy et tu fais à l'intuition
 
var[i] = "plop";
var[j] = autreString;

n°726999
Taz
bisounours-codeur
Posté le 15-05-2004 à 20:16:36  profilanswer
 
n°727062
Ace17
Posté le 15-05-2004 à 22:16:22  profilanswer
 

nightmare682 a écrit :

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.


 
Winner!  :sol:


Message édité par Ace17 le 15-05-2004 à 22:16:41
n°727161
skelter
Posté le 16-05-2004 à 00:41:09  profilanswer
 
mood
Publicité
Posté le 16-05-2004 à 00:41:09  profilanswer
 

n°727361
nightmare6​82
&lt; &gt;
Posté le 16-05-2004 à 13:29:09  profilanswer
 

Ace17 a écrit :

Winner!  :sol:


 
 :sweat: Désolé faut que j'arrettes de faire picoler mon clavier, il écrit vraiement n'importe comment apres  :D


Message édité par nightmare682 le 16-05-2004 à 13:40:28
n°727363
nightmare6​82
&lt; &gt;
Posté le 16-05-2004 à 13:39:35  profilanswer
 

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  :sweat:  
 
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.

n°727366
Taz
bisounours-codeur
Posté le 16-05-2004 à 13:47:05  profilanswer
 

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());

n°727382
Ace17
Posté le 16-05-2004 à 14:04:54  profilanswer
 

nightmare682 a écrit :

:sweat: Désolé faut que j'arrettes de faire picoler mon clavier, il écrit vraiement n'importe comment apres  :D


[:rofl] encore!!! encore!!

n°727424
nightmare6​82
&lt; &gt;
Posté le 16-05-2004 à 14:34:23  profilanswer
 

Taz > grand merci à toi (et aux autres aussi)
Ace17 > Arrette tu vas vexer mon clavier ^^
 
EDIT : me revoila  :sweat:  
 
Bon j'ais vraiement du mal, mais j'ais encore un problème
 
J'ais mis ça pour tester suite au problème
 

Code :
  1. std::string Var[20];
  2. Var[0]=TempVar;
  3. Var[1]=TempVar1;
  4. strcpy(Retour,Var[0].c_str());
  5. strcat(Retour,Var[1].c_str());


 
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 ?
 
 [:alph-one]  je crois que je suis pas doué pour le C++ (oui Ace17 je sais pour l'orthographe non plus)


Message édité par nightmare682 le 16-05-2004 à 14:57:19
n°727447
skelter
Posté le 16-05-2004 à 15:10:00  profilanswer
 

si ta besoin que Retour soit un c-style string, tu fait tout avec std::string et tu converti a la fin

n°727450
nightmare6​82
&lt; &gt;
Posté le 16-05-2004 à 15:16:40  profilanswer
 

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 :
  1. Var[0]=TempVar;
  2. strcpy(Retour,Var[0].c_str());


 
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 :
  1. Var[1]=TempVar;
  2. strcpy(Retour,Var[1].c_str());


 
ça ne me met rien dans Retour.


Message édité par nightmare682 le 16-05-2004 à 15:16:59
n°727460
skelter
Posté le 16-05-2004 à 15:41:36  profilanswer
 

?

Code :
  1. std::vector< std::string > Var;
  2. Var.push_back(TempVar);
  3. Var.push_back(TempVar1);
  4. std::strncpy(Retour,Var[0].c_str());
  5. ...


n°727466
Taz
bisounours-codeur
Posté le 16-05-2004 à 16:27:43  profilanswer
 

skelter a écrit :

?

Code :
  1. std::vector< std::string > Var;
  2. Var.push_back(TempVar);
  3. Var.push_back(TempVar1);
  4. std::strncpy(Retour,Var[0].c_str());
  5. ...



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.

n°727467
nightmare6​82
&lt; &gt;
Posté le 16-05-2004 à 16:32:45  profilanswer
 

skelter a écrit :

?

Code :
  1. std::vector< std::string > Var;
  2. Var.push_back(TempVar);
  3. Var.push_back(TempVar1);
  4. std::strncpy(Retour,Var[0].c_str());
  5. ...




 
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  :D )

n°727468
skelter
Posté le 16-05-2004 à 16:34:55  profilanswer
 


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

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++]Tableau de pointeru sur chaine de car.

 

Sujets relatifs
[java] probleme de newbie (tri de tableau)Affichage requete dans un tableau avec selecteur
[asm] conversion chaine numerique flottante en base 10[HTML] Fixer la largeur d'une colonne dans un tableau ?
comment mettre un tableau en publiccomparaison de deux chaine de caractere
Comment stocker une matrice dans un tableau ??Comment inserer le resultat ds un tableau ?
[C] tableau de pointeurs...tableau de chaine de caractere...
Plus de sujets relatifs à : [C++]Tableau de pointeru sur chaine de car.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR