begin process at 2012 05 28 22:52:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Conversion des chaines de caractères


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

Conversion des chaines de caractères

vendredi 26 août 2005 à 20:13:07 | Conversion des chaines de caractères

Kaneda Shotaro

Je suis vraiment perdu : il y a tellement de types de chaines de caractères que je ne sais plus où donner de la tête !
Où pourrais-je trouver de la doc (en français si possible) sur les différents types (char, TCHAR, WCHAR, LPCWSTR, etc.) et sur les fonctions de conversion car à chaque fois que je veux utiliser une fonction le type de chaine change !!!

Merci.

@+, Kaneda Shotaro
vendredi 26 août 2005 à 20:24:54 | Re : Conversion des chaines de caractères

vecchio56

Administrateur CodeS-SourceS
MSDN pour ces "types", qui sont de simples alias de windows. En ANSI (le plus courant): TCHAR=char, LPCTSTR = const char* En Unicode: TCHAR = wchar_t, LPCTSTR = const wchar_t* Entre autres bien sur. Mais sache que ce ne sont pas de types, et tu peux toujours t'en passer
vendredi 26 août 2005 à 20:26:31 | Re : Conversion des chaines de caractères

vecchio56

Administrateur CodeS-SourceS
Pour les conversion de Unicode à ANSI, et le contraire (les seules ou un cast ne convient pas) MultiByteToWideChar et WideCharToMultiByte
vendredi 26 août 2005 à 20:34:54 | Re : Conversion des chaines de caractères

Kaneda Shotaro

D'accord mais par exemple j'ai une fonction qui récupère le répertoire de l'application et qui passe au paramètre "Fichier" ce dernier :

void GetAppPath(char* Fichier)
{
  TCHAR szThis[MAX_PATH];
  TCHAR* c = szThis + GetModuleFileName(NULL, szThis, 300);
  while(*c != '\\') c--; *c = 0;
//Et là ? Je mets quoi pour mettre dans la variable Fichier le contenu de szThis ?
}

Merci

@+, Kaneda Shotaro
vendredi 26 août 2005 à 20:39:18 | Re : Conversion des chaines de caractères

vecchio56

Administrateur CodeS-SourceS
Tu utilise strcpy, mais le mieux est de travailler dès le début avec Fichier: void GetAppPath(char* Fichier) { TCHAR* c = Fichier + GetModuleFileName(NULL, Fichier, 300); while(*c != '\\') c--; *c = 0; } Bien sur, Fichier doit pointer sur une zone assez grande. Il faudrait dans l'idéal permettre à l'utilisateur de spécifier cela: void GetAppPath(char* Fichier, int max) { TCHAR* c = Fichier + GetModuleFileName(NULL, Fichier, max); while(*c != '\\') c--; *c = 0; }
vendredi 26 août 2005 à 20:51:06 | Re : Conversion des chaines de caractères

Kaneda Shotaro

J'ai Visual Studio 2005 et avec ta solution j'ai cette erreur :

1>c:\documents and settings\kaneda shotaro\mes documents\visual studio projects\medie world\medie world.cpp(190) : error C2664: 'GetModuleFileNameW' : cannot convert parameter 2 from 'char *' to 'LPWCH'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast



@+, Kaneda Shotaro
vendredi 26 août 2005 à 20:59:40 | Re : Conversion des chaines de caractères

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
D'accord, c'est parce que tu compiles en mode UNICODE. Essaie ceci: void GetAppPath(char* Fichier) { char* c = Fichier + GetModuleFileNameA(NULL, Fichier, 300); while(*c != '\\') c--; *c = 0; }
vendredi 26 août 2005 à 21:15:11 | Re : Conversion des chaines de caractères

Kaneda Shotaro

Merci beaucoup pour ton aide !
Par contre si jemets un breakpoint pour visualiser la valeur de Fichier j'obtiens juste 'c'...

@+, Kaneda Shotaro
vendredi 26 août 2005 à 21:18:10 | Re : Conversion des chaines de caractères

vecchio56

Administrateur CodeS-SourceS
Tu es en mode debug?
vendredi 26 août 2005 à 21:31:34 | Re : Conversion des chaines de caractères

Kaneda Shotaro

Oui

@+, Kaneda Shotaro

1 2

Cette discussion est classée dans : conversion, chaines, caractères, types


Répondre à ce message

Sujets en rapport avec ce message

Comment faire des tableaux de chaines de caractères ? [ par ProGamer ] Je veux faire des tableaux de chaines de caractères I want to make arrays of strings, mais en utilisant seulement le type de base, char.J'ai essayé ce Comment faire des tableaux de chaines de caractères ? [ par ProGamer ] Je veux faire des tableaux de chaines de caractères I want to make arrays of strings, mais en utilisant seulement le type de base, char.J'ai essayé ce problème chaines de caractères [ par tintin72 ] BonjourJ'aimerai avoir un petit éclaircissement sur les chaines de caractères.Voici un programme tout bête... char prenom[100]; cout gets(pr Conversion de types de données... [ par nullspace ] J'ai jamais réussis à trouver une bonne solution pour convertir un type de variable dans une autre variable ayant un autre type.Par exemple...si j'ai remplacemnt de chaines de caractères [ par borgeomi ] borgeomibonjouuuuuuur !!!!!peut-on utiliser replace_if ou transform pour modiifier dans une chaîne un suite de caractères par une autre ( longueurs di Diviser une chaine de caractères en 3 chaines de caractères [ par rico77200 ] A la base je dipose d'un fichier .txt dont le contenu est :apprenti1;ti1;te1apprenti2;ti2;te2apprenti3;ti3;te5apprenti4;ti4;te4apprenti5;ti5;te5Je sou Chaines de caractères C++ [ par Scalpweb ] Bonjour à tous. Je suis un programmeur VB qui essaye d'apprendre le C++. En VB, je connais de nombreuses instrcutions pour gérer les chaines de caract Conversion de types [ par Berenger ] En C, la fonction main se présente comme ca :int main(int argc, char *argv[]){}Moi, je veux récupérer la valeur de argv[3] pour la stocker et l'utilis Conversion d'un DWORD en chaîne de caractères [ par annplop ] Bonjour,je code en c++ (avec visual c++ 6), et j'ai besoin de convertir une variable de type DWORD en chaîne de caractères.Est-ce possible et si oui c les chaines de caractères dans C [ par hzocm ] Bonjour, Je voudrais copier un fragment de la chaine A, comment faire?? ex: A = hello, je suis une chaine je veux copier de la position 3 à 5 --> j'a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,827 sec (3)

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