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

  FORUM HardWare.fr
  Programmation
  C++

  problem conversion char* -> string sous visual .net

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problem conversion char* -> string sous visual .net

n°725649
vince_223
Posté le 14-05-2004 à 11:00:59  profilanswer
 


Salut a tous,
 
j'ai un petit probleme,
 
sous visual je crée un string a partir d'un char *, et lorsque la chaine de caractere depasse 16 caractere, je ne peut plus utiliser le string. pour des parametre de fonctions ou autres. Les operations de la classe string fonctionne mais des que je veux l'utiliser pour autre chose, ca ne fonctionne pas..
 
quelqu'un aurait une idée ?
 
 

Code :
  1. #include <string>
  2. #include <iostream>
  3. #include "JSeg.h"
  4. #include "explicit_templates.h"
  5. #include "def.h"
  6. using namespace std;
  7.    
  8. int main(int argc,char **argv)
  9. {
  10.         string name = "super_long_de_fichier.bmp";
  11. cout<<name<<endl; //Affichage ok
  12.         JSeg<RGBImage> * jseg = new JSeg<RGBImage>(name,16,2);
  13.         //fonctionne pas : la string vaut n'importe quoi
  14. jseg->run(0,false,true,true,true);
  15. cout<<endl<<endl;
  16. system("PAUSE" );
  17. return 0;
  18. }

mood
Publicité
Posté le 14-05-2004 à 11:00:59  profilanswer
 

n°725662
Joel F
Real men use unique_ptr
Posté le 14-05-2004 à 11:05:07  profilanswer
 

Code :
  1. JSeg<RGBImage> * jseg = new JSeg<RGBImage>(name,16,2);


 
 
JSeg il prendrait pas un char* en paramétres ???
si c'est le cas :
 

Code :
  1. JSeg<RGBImage> * jseg = new JSeg<RGBImage>(name.c_str(),16,2);


n°725692
HelloWorld
Salut tout le monde!
Posté le 14-05-2004 à 11:14:57  profilanswer
 

Même s'il accepte une std::string ça peut merder, il suffit que ce soit une dll compilée avec une STL différente de celle qu'il utilises...

n°729203
vince_223
Posté le 17-05-2004 à 16:26:10  profilanswer
 

non c du string
 
mais ca marche pas
 
la classe <string> sous visual.net, c bine la meme que sous linux ?

n°729263
choupinou
Posté le 17-05-2004 à 16:46:40  profilanswer
 

C'est quoi ton <JJSeg<RGBImage>?
Et c'est quoi les paramètres (name,16,2);
name : c'est le nom du fichier.
Mais les autres (16 et 2) ça correspond à quoi?

n°729281
Ace17
Posté le 17-05-2004 à 16:53:52  profilanswer
 

HelloWorld a écrit :

Même s'il accepte une std::string ça peut merder, il suffit que ce soit une dll compilée avec une STL différente de celle qu'il utilises...


 
Tu veux dire qu'en regle générale il vaut mieux éviter de s'échanger des objets STL entre librairies?

n°729332
HelloWorld
Salut tout le monde!
Posté le 17-05-2004 à 17:31:26  profilanswer
 

Citation :

la classe <string> sous visual.net, c bine la meme que sous linux ?


C'est la même en terme de focntionnalités. En terme d'implémentation, c'est même pas la même entre VC++6 et VC++.Net...

Citation :

Tu veux dire qu'en regle générale il vaut mieux éviter de s'échanger des objets STL entre librairies?


C'est un problème connu avec la STL. Tu compiles ton code qui utilise une std::string implémentée d'une certaine manière. Un mec utilise ta dll, et lui file une autre std::string implémentée différement. Le compilo n'y voit que du feux. A l'exécution c'est autre chose.

n°729787
vince_223
Posté le 18-05-2004 à 08:19:25  profilanswer
 

Helloworld, comment tu fais pour contourner ce probleme ? faut recompiler la lib ? et si on a pas acces a la lib , c foutu ?
 
ah pis choupinou, Jseg<RGBImage> c un algo de segmentation : et la je bosse sur des images RGB. 16 c la quantification effectué sur l'image et 2 l'echelle pour la segmentation.


Message édité par vince_223 le 18-05-2004 à 08:22:52
n°729819
HelloWorld
Salut tout le monde!
Posté le 18-05-2004 à 09:08:48  profilanswer
 

Code :
  1. Helloworld, comment tu fais pour contourner ce probleme ? faut recompiler la lib ? et si on a pas acces a la lib , c foutu ?


Mouais, recompiler la lib. J'ai ce problème avec QT sous Windows (pas le source, juste la dll). J'ai du code C++ standard, et j'y greffe une IHM QT. Cool, ils ont prévu une conversion std::string -> QString... boum, plantage.
Du coup, ben, c'est des appels à c_str().


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°730273
vince_223
Posté le 18-05-2004 à 14:11:45  profilanswer
 

oui, mais moi le pb c la classe string qui deconne
 
g passé ma matinée a passer tout mon code de string a char * et c le point d'entrée a la lib Magick++ qi plante.


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

  problem conversion char* -> string sous visual .net

 

Sujets relatifs
l'affichage graphique sous visual fortran avec developer studio[VB] Problème oo4o et Visual Studio .net
[asm] conversion chaine numerique flottante en base 10Probleme avec Visual C++ et la STL
[CGI]comment récupère t on les variables de la query stringRecherche de string ds un bloc mémoire sans type
[C++]Fonction pour passer d'une string vers une var numérique ?[java]Efficacité pour la lecture d'un fichier texte --> String
Expression reguliere checker si un string est borne par ','execution de string
Plus de sujets relatifs à : problem conversion char* -> string sous visual .net


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