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

  FORUM HardWare.fr
  Programmation
  C++

  Probleme de conversion de types

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de conversion de types

n°1392542
getget
Il y en a qui ont essayé ...
Posté le 22-06-2006 à 00:18:39  profilanswer
 

Bonjour à tous.

 

Je fais actuellement un petit programme qui doit m'afficher le jour de la date en cours (lundi, mardi etc).

 

J'ai crée un tableau de const char* qui contient les jours.

 
Code :
  1. const char *daysOfWeek[] = { "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
 

Une variable date_heure qui a la structure SYSTEMTIME, à laquelel je fais correspondre la date actuelle.

 
Code :
  1. SYSTEMTIME        date_heure;
  2. GetSystemTime(&date_heure); // Recupere l'heure / date dans la structure


Plus loin, je veux envoyer tout ca a l'ecran, grace à la fonction Drawtext.

 

Mon problème est de générer une chaine de caracteres du type "jeudi 22".

 

J'ai écrit cela :

Code :
  1. std::string date_affichee;
  2. date_affichee+=*daysOfWeek[date_heure.wDayOfWeek];
  3. date_affichee+=TEXT(" " );
  4. date_affichee+=date_heure.wDay;
  5. ...
  6. DrawText(hDC,date_affichee.c_str(),-1,&text_rect_heure,DT_LEFT);


Et je me mange un
.\CustomItem.cpp(327) : error C2664: 'DrawTextW' : cannot convert parameter 2 from 'const char *' to 'LPCWSTR'

 

Comme je début, j'ai encore un peu de mal avec les pointeurs, char*, strings et autres, qu'est ce qui ne va pas ?
un char * c'est pas un pointeur vers une chaine ?


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
mood
Publicité
Posté le 22-06-2006 à 00:18:39  profilanswer
 

n°1392548
skelter
Posté le 22-06-2006 à 00:33:40  profilanswer
 

date_affichee doit etre de type std::wstring
 
regardes aussi du coté de boost.Date_Time

n°1392551
getget
Il y en a qui ont essayé ...
Posté le 22-06-2006 à 00:36:44  profilanswer
 

Ca marche, merci !
Je regarde pour Boost.Date_Time


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1392556
getget
Il y en a qui ont essayé ...
Posté le 22-06-2006 à 00:48:22  profilanswer
 

Enfin, ca marche ... ca compile plutot :D
Ca m'affiche "n" si la date est jeudi 22, "j" si la date est vendredi 23 :heink:


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1392938
getget
Il y en a qui ont essayé ...
Posté le 22-06-2006 à 16:54:22  profilanswer
 

Up ?

n°1393058
skelter
Posté le 22-06-2006 à 18:23:33  profilanswer
 

ben utilises boost::date_time, gérée les dates c'est pas si simple, autant ne pas reinventer la roue

n°1393085
getget
Il y en a qui ont essayé ...
Posté le 22-06-2006 à 19:25:03  profilanswer
 

Oui, mais c'est pour une appli Windows CE, et je suis pas sur que ca soit bien 100% compatible :/ (et que ca fasse ce que je veux).


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1395448
getget
Il y en a qui ont essayé ...
Posté le 27-06-2006 à 01:04:02  profilanswer
 

Up , personne ?
J'ai l'impression qu'il y a un soucis de pointeur ou je ne sais quoi, il doit manquer un * ou un & quelque part :/


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1395454
oseam
Yume wa kitto kanau
Posté le 27-06-2006 à 03:57:10  profilanswer
 

Code :
  1. date_affichee+=*daysOfWeek[date_heure.wDayOfWeek];


 
Pas plutôt:
 

Code :
  1. date_affichee = daysOfWeek[date_heure.wDayOfWeek];


 

n°1395632
getget
Il y en a qui ont essayé ...
Posté le 27-06-2006 à 11:54:26  profilanswer
 

Je sais pas trop, en tout cas si je met ca, ca compile pas ....
 
En fait, ce qu'il se passe, c'est que j'ai que le 1er caractere de la chaine :/


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
mood
Publicité
Posté le 27-06-2006 à 11:54:26  profilanswer
 

n°1395665
getget
Il y en a qui ont essayé ...
Posté le 27-06-2006 à 12:59:56  profilanswer
 

Finalement, j'ai déclaré la liste comme ceci :

 
Code :
  1. std::wstring  daysOfWeek[] = { L"Dimanche", L"Lundi", L"Mardi", L"Mercredi", L"Jeudi", L"Vendredi", L"Samedi" };


Et plus loin j'ai un

 
Code :
  1. date_affichee=daysOfWeek[date_heure.wDayOfWeek];
 

Et ca fonctionne.
Maintenant, il me reste a convertir un int en wstring :/


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980

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

  Probleme de conversion de types

 

Sujets relatifs
probleme de longueur de chaine[SQL] Problème => Récupérer RefDossierMax (non entier)
problème commande exec sur wamp par rapport à easyphp[HTML] problème FORM dans formulaire
(vba excel)pb conversion heureProblème VBA - Excel / Variable / range
Probleme de décalage des textes sur les pagesproblème de transmission de variables
Probleme de compatiblité IE[RESOLU] Problème méthode GET
Plus de sujets relatifs à : Probleme de conversion de types


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