Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conversion d'une chaine de caractère.

5 réponses
Avatar
Vincent Badier
Bonjour,

Je débute en C++ sous visual studio, et me prend des vestes par la bête
à chaque fois que j'éssais de travailler avec des chaines de charactères.

Je cherche à travailler sur un fichier sélectionné par un crontole
openFileDialog. Il semble retourner une chaine du type System::String ^,
mais l'API pour ouvrir l'image nécessite un LPWSTR. Evidemment le
casting ne fonctionne pas.

Erreur 1 error C2440: 'type cast' : cannot convert from 'System::String
^' to 'LPWSTR'

Auriez-vous la bonté de me donner un petit tuyaux sur le sujet svp?
Merci d'avance.

Vincent

5 réponses

Avatar
marco
Vincent Badier wrote:
Bonjour,

Je débute en C++ sous visual studio, et me prend des vestes par la bête
à chaque fois que j'éssais de travailler avec des chaines de charactères.

Je cherche à travailler sur un fichier sélectionné par un crontole
openFileDialog. Il semble retourner une chaine du type System::String ^,
mais l'API pour ouvrir l'image nécessite un LPWSTR. Evidemment le
casting ne fonctionne pas.

Erreur 1 error C2440: 'type cast' : cannot convert from
'System::String ^' to 'LPWSTR'



Convertis la en Unicode.
Avatar
Remi THOMAS
"Vincent Badier" écrivit
Bonjour,

Je débute en C++ sous visual studio, et me prend des vestes par la bête à
chaque fois que j'éssais de travailler avec des chaines de charactères.

Je cherche à travailler sur un fichier sélectionné par un crontole
openFileDialog. Il semble retourner une chaine du type System::String ^,
mais l'API pour ouvrir l'image nécessite un LPWSTR. Evidemment le casting
ne fonctionne pas.

Erreur 1 error C2440: 'type cast' : cannot convert from 'System::String ^'
to 'LPWSTR'

Auriez-vous la bonté de me donner un petit tuyaux sur le sujet svp?
Merci d'avance.

Vincent



Bonjour,
Attention tu fais quoi comme C++?
Là tu sembles parler de C++/CLI c'est à dire du C++ managé.
Si tu débutes je te conseille de faire des projets Win32 et non pas des
projets managés.
Si tu vaus faire du managé, alors débute en C#.

Rémi
Avatar
Vincent Badier
Remi THOMAS a écrit :
"Vincent Badier" écrivit
Bonjour,

Je débute en C++ sous visual studio, et me prend des vestes par la bête à
chaque fois que j'éssais de travailler avec des chaines de charactères.

Je cherche à travailler sur un fichier sélectionné par un crontole
openFileDialog. Il semble retourner une chaine du type System::String ^,
mais l'API pour ouvrir l'image nécessite un LPWSTR. Evidemment le casting
ne fonctionne pas.

Erreur 1 error C2440: 'type cast' : cannot convert from 'System::String ^'
to 'LPWSTR'

Auriez-vous la bonté de me donner un petit tuyaux sur le sujet svp?
Merci d'avance.

Vincent



Bonjour,
Attention tu fais quoi comme C++?
Là tu sembles parler de C++/CLI c'est à dire du C++ managé.
Si tu débutes je te conseille de faire des projets Win32 et non pas des
projets managés.
Si tu vaus faire du managé, alors débute en C#.

Rémi




C'est bien ce qu'il je craignais.
Bon je vais essayer d'apprendre le C# alors.

Juste une précision avant de foncer tête baissée. Si je souhaite que les
bibliothèque que je veux développer soit utilisable aussi bien pour un
serveur, que pour un client gui ainsi que pour une application WEB, il
est nécessaire de faire le tout en .NET (= managé?), n'est-ce pas?

Vincent
Avatar
Remi THOMAS
Vincent écrivit

Bonjour,
Attention tu fais quoi comme C++?
Là tu sembles parler de C++/CLI c'est à dire du C++ managé.
Si tu débutes je te conseille de faire des projets Win32 et non pas des
projets managés.
Si tu vaus faire du managé, alors débute en C#.

Rémi


C'est bien ce qu'il je craignais.
Bon je vais essayer d'apprendre le C# alors.

Juste une précision avant de foncer tête baissée. Si je souhaite que les
bibliothèque que je veux développer soit utilisable aussi bien pour un
serveur, que pour un client gui ainsi que pour une application WEB, il est
nécessaire de faire le tout en .NET (= managé?), n'est-ce pas?

Vincent



Je pense que c'est le plus simple.
Si jamais tu manques de puissances de calcul tu pourras toujours écrire une
bibliothèque .NET (ou assembly) en C++/CLI qui permet de mixer C++ natif et
C++ managé.

Rémi
Avatar
adebaene
On Jun 21, 11:17 pm, Vincent Badier wrote:
Remi THOMAS a écrit :



> "Vincent Badier" écrivit
>> Bonjour,

>> Je débute en C++ sous visual studio, et me prend des vestes par la b ête à
>> chaque fois que j'éssais de travailler avec des chaines de charact ères.

>> Je cherche à travailler sur un fichier sélectionné par un cronto le
>> openFileDialog. Il semble retourner une chaine du type System::String ^,
>> mais l'API pour ouvrir l'image nécessite un LPWSTR. Evidemment le ca sting
>> ne fonctionne pas.

>> Erreur 1 error C2440: 'type cast' : cannot convert from 'System::Strin g ^'
>> to 'LPWSTR'

>> Auriez-vous la bonté de me donner un petit tuyaux sur le sujet svp?
>> Merci d'avance.

>> Vincent

> Bonjour,
> Attention tu fais quoi comme C++?
> Là tu sembles parler de C++/CLI c'est à dire du C++ managé.
> Si tu débutes je te conseille de faire des projets Win32 et non pas d es
> projets managés.
> Si tu vaus faire du managé, alors débute en C#.

> Rémi

C'est bien ce qu'il je craignais.
Bon je vais essayer d'apprendre le C# alors.

Juste une précision avant de foncer tête baissée. Si je souhaite qu e les
bibliothèque que je veux développer soit utilisable aussi bien pour un
serveur, que pour un client gui ainsi que pour une application WEB, il
est nécessaire de faire le tout en .NET (= managé?), n'est-ce pas?



Non, pas du tout.... .NET risques même de t'apporter quelques
problèmes de comaptibilité si tu veux sortir du monde Windows. Par
contre, c'est clair que tu développerai plus vite en .NET, et que la
courbe d'apprentissage initial sera moins rude que du C++ natif (mais
tu comprendras ausi sans doute moins bien ce que tu fais....)

Arnaud
MVP - VC