begin process at 2010 02 10 14:53:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Convertir des strings


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertir des strings

jeudi 8 mai 2003 à 19:29:06 | Convertir des strings

UnExPeCtEdSpy

Bonjour,

Présentation du pb:
Je ne suis plus trop familier du c++ mais j'ai du m'y remettre pour utiliser un bout de code en tant que DLL au service d'un de mais progs en VB. Je doit récupérer de la part de la DLL un nom de fichier et sa taille (voir plusieurs fichier par la suite) donc une chaine de caractére et un int.

Coté dll :
...
void __stdcall MaFonction(char* filename, int& taille)
...

Coté vb:
...
Public Declare Sub MaFonction Lib "madll.dll" _
(ByVal filename As String, ByRef taille As Integer)
...
LE PROBLEME :
Le code c++ de MaFonction utilise une variable
de type wstring qui contient le nom du fichier que je doit faire passer en parametre mais lorsque j'essaye de copier la variable wstring vers la variable en char * ça marche pas, il me dit peus pas convertir unsigned short * to char *.
je suis pourtant obligé de garder la variable en wstring telle qu'elle est et de garder le parametre en type char * pour pouvoir le transferer sous vb , Donc je doit convertir :

j'ai essayer :
sprintf( filename, "%s", name.c_str( ) ); //marche po
wprintf( filename, "%s", name.c_str( ) ); //marche po
name.copy(filename, 0, name.size()); //marche po

En fait là j'ai besoin d'un coup de main
Merci d'avances
UnExPEcTeD SpY


,.~*`'^~.(^. .^),.~^'`*~.
jeudi 8 mai 2003 à 19:40:29 | Re : Convertir des strings

UnExPeCtEdSpy

Bon j'suis dégouté là...

C'est l'histoire d'un mec qui cherche pendant tout un aprés midi a résoudre un truc qui lui pose probléme, qui va sur le net, qui fouille la msdn, qui s'prend la tête a un point qu'il se dit allez hop j'met un message sur le forum de Nix!
Et puis le mec il tente un dernier truc avant de shutter le pc, pis paf c'est la réponse !! :)

Bon alors comme j'viens d'la poster cette question pis que j'viens d'men sortir, j'vais mettre ma solution pour ceux que ça peut interesser :

wcstombs (filename, name.c_str( ), name.size());

L'info du net :

size_t wcstombs (char *string, const wchar_t *wstring, size_t size)
The wcstombs ("wide character string to multibyte string") function converts the null-terminated wide character array wstring into a string containing multibyte characters, storing not more than size bytes starting at string, followed by a terminating null character if there is room. The conversion of characters begins in the initial shift state.


A bientot
UnExPeCtEd SpY
jeudi 8 mai 2003 à 20:17:12 | Re : Convertir des strings

BruNews

Administrateur CodeS-SourceS
Le truc est de savoir pourquoi tu as enregistre en tant que wstring ? alors que tu recevais bien du char* ?
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Bon j'suis dégouté là...
>
> C'est l'histoire d'un mec qui cherche pendant tout un aprés midi a résoudre un truc qui lui pose probléme, qui va sur le net, qui fouille la msdn, qui s'prend la tête a un point qu'il se dit allez hop j'met un message sur le forum de Nix!
> Et puis le mec il tente un dernier truc avant de shutter le pc, pis paf c'est la réponse !! :)
>
> Bon alors comme j'viens d'la poster cette question pis que j'viens d'men sortir, j'vais mettre ma solution pour ceux que ça peut interesser :
>
> wcstombs (filename, name.c_str( ), name.size());
>
> L'info du net :
>
> size_t wcstombs (char *string, const wchar_t *wstring, size_t size)
> The wcstombs ("wide character string to multibyte string") function converts the null-terminated wide character array wstring into a string containing multibyte characters, storing not more than size bytes starting at string, followed by a terminating null character if there is room. The conversion of characters begins in the initial shift state.

>
> A bientot
> UnExPeCtEd SpY
>
jeudi 8 mai 2003 à 20:56:34 | Re : Convertir des strings

UnExPeCtEdSpy

Salut,
En fait la wstring était une variable interne a la Dll qu'il me fallais récupérer en vb, comme je ne sais que récupérer des char * en vb via un string, je devais faire la conversion.

Un bref résumé codique...

void __stdcall MaFonction( BYTE* pBuf, DWORD read, char* Nom)
{
[...]
//imposé en interne
wstring name;
name.append( pStreamId->cStreamName, pStreamId->dwStreamNameSize/sizeof(WCHAR ));
//crée pour pouvoir la sortir en char *
wcstombs (Nom,name.c_str( ), name.size());
[...]
}


A+
SpY

,.~*`'^~.(^. .^),.~^'`*~.


-------------------------------
Réponse au message :
-------------------------------

> Le truc est de savoir pourquoi tu as enregistre en tant que wstring ? alors que tu recevais bien du char* ?
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bon j'suis dégouté là...
> >
> > C'est l'histoire d'un mec qui cherche pendant tout un aprés midi a résoudre un truc qui lui pose probléme, qui va sur le net, qui fouille la msdn, qui s'prend la tête a un point qu'il se dit allez hop j'met un message sur le forum de Nix!
> > Et puis le mec il tente un dernier truc avant de shutter le pc, pis paf c'est la réponse !! :)
> >
> > Bon alors comme j'viens d'la poster cette question pis que j'viens d'men sortir, j'vais mettre ma solution pour ceux que ça peut interesser :
> >
> > wcstombs (filename, name.c_str( ), name.size());
> >
> > L'info du net :
> >
> > size_t wcstombs (char *string, const wchar_t *wstring, size_t size)
> > The wcstombs ("wide character string to multibyte string") function converts the null-terminated wide character array wstring into a string containing multibyte characters, storing not more than size bytes starting at string, followed by a terminating null character if there is room. The conversion of characters begins in the initial shift state.

> >
> > A bientot
> > UnExPeCtEd SpY
> >
>


Cette discussion est classée dans : variable, dll, filename, convertir, char


Répondre à ce message

Sujets en rapport avec ce message

Convertir une char en string [ par juki_webmaster ] Bonjour,Je vient de faire pas mal de progrés en cpp, et je suis arriver à un probléme de variable.Je declare, et j'utilise une variable de type char : convertir de int -> char [ par baby3378 ] bonjour a tous, voila je cherche un moyen de convertir une variable de type int vers une variable de type char [20] par exemple.PS:Comment peut on fai Mettre le contenut d'un ficher vers une variable [ par baby3378 ] bonjour à tous,Voila je voudrai savoir comment pourai-je mettre le contenut d'un fichier dans une variable tableau (par exemple : char variable[400])J Convertir un char* en char [] [ par frayst ] Bonjour,Je voulais savoir sil etait possible de convertir un char* en char [], si oui comment dois je proceder ?char *Text = "Blablablablabla";char Te Char avec des long [ par sebastienmz ] BOnjour voila mon problème : j aimerait metttre dans un tableau de char : l'heure: (la variable long Heure) les minutes : (la variable long Minutes)j Extraction de données dans un char[260] [ par seb2086 ] Bonjour,char variable[260] = "C:\Mes docs\Dossier\Objet.X" ;Voila en fait je voudrais récupérer dans une autre variable seulement Objet.X.En gros il f convertir char en const char * [ par noulii ] Bonjour tout le monde,Ma question est dans la titre, est-il possible de convertir un char en un const char*?Je m'explique.Je recupere des lettres dans recuperation variable globale d'une dll via link explicite ? [ par mcallan ] Bonjourj'ai une dll ,.lib et .h avant je la "linkais" de facon implicite avec mon programme.Avant de rendre cela plus dynamique,je souhaite passer en scanf / printf avec variable char [ par domcergyitin95 ] Bonjour, je début en C, et j'ai un problème que je n'arrive pas à résoudre, malgré que le reste du programme soit plus complexe et que ça tourne bie convertir un Char en Tstring [ par lomat62 ] Voila g encore un petit probleme je cherche une methode qui me permette de convertir un Char en int puisque builder me donne une erreur


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales