Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Recuperation date system UNICODE [ Archives / Au secours ] (raton)

jeudi 28 juillet 2005 à 10:43:09 | Recuperation date system UNICODE

raton

Salut a tous... Me revoila dans mes peregrinations pour faire ce que je veux avec ce ***** d'UNICODE.

J'essaie en ce moment de recuperer la date sys dans une chaine.

Voila comment je m'y prend pour le moment :

SYSTEMTIME datesys;
GetSystemTime(&datesys);

Jusque la pas de probleme... Vient ensuite de creer une chaine de caractère a partir de ca...

TCHAR[30] strdate;
TCHAR *tmp = strdate;

wcscat(tmp,datesys.wDay);

J'essaie ensuite de creer un fichier qui porterai ce nom

FILE *fichiertest;
 fichiertest = _wfopen (test, TEXT("w"));

Mais voila... Rien ne se crée... Je penses que le probleme vient de wcscat qui m'a poser plein de probleme comme par exemple, si j'essaue de concatener plusieurs chaine ensemble avec et ensuite de les affichier n'importe ou, le texte arrive bugger. Par exemple si je concatennes "LIEU", une var, "ILOT", une var je vais me retrouver avec unevar"ILOT"unevar. le premier lieu a disparu. Et lors des chargements futurs ce sera de pire en pire...

Quelqu'un aurait il une idée ?

Merci d'avance

Mess with the best
Die Like the rest

jeudi 28 juillet 2005 à 11:02:29 | Re : Recuperation date system UNICODE

BruNews

Administrateur CodeS-SourceS
Evite de mélanger le codage, si tu utilises API (impec) faut rester cohérent.
HANDLE hfl;
hfl = CreateFile(...);
les FILE* et autres bidules de ce genre n'ont rien à faire ici.

wcscat est pour concaténer des chaines, on ne concat pas du binaire.
ultow devrait aller mieux.

ciao...
BruNews, MVP VC++

jeudi 28 juillet 2005 à 11:14:14 | Re : Recuperation date system UNICODE

raton

Tu es definitivement mon maitre :)

Merci beaucoup !

Mess with the best
Die Like the rest

jeudi 28 juillet 2005 à 11:41:36 | Re : Recuperation date system UNICODE

raton

Definitivement ce wcscat me pose probleme... voila comme je genere le nom de mon fichier

TCHAR* CFichier::GenNom()
{
 TCHAR strdate[30],datepart[10];
 TCHAR* test = strdate;
 TCHAR* tmp = datepart;
 SYSTEMTIME datesys;
 GetSystemTime(&datesys);
 wcscat(test,TEXT("INVE"));

 _ultow(datesys.wDay,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wMonth,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wYear,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wHour,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wMinute,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wSecond,tmp,10);
 wcscat(test,tmp);
 wcscat(test,TEXT(".txt"));

 return test;
}

Et en sorti j'ai...???????     `?

Pourtant lorsque je ne mets que INVE et le jour ca marche nickel...

Mess with the best
Die Like the rest

jeudi 28 juillet 2005 à 11:59:28 | Re : Recuperation date system UNICODE

BruNews

Administrateur CodeS-SourceS
mais c'est quoi tout cela ???
faut te plonger dans un bouquin de C illico sinon tu vas perdre du temps et rien de plus, je le dis pour ton bien alors ne le prends pas mal.
On ne peut pas retourner une adresse sur pile (return test;) dont les octets ont toute chance d'être écrasés en sortie de fonction, celle ci relevant ESP (ou l'appelant) à sa sortie. On passe adresse d'un buffer à la fonction qui le remplira, voila une méthode saine.

ciao...
BruNews, MVP VC++

jeudi 28 juillet 2005 à 13:40:38 | Re : Recuperation date system UNICODE

raton

C'est pas tant le C ou le C++ qui me pose probleme... C'est juste que je manques un peu d'entrainement sur les pointeurs... Et que mon boss est tellement rat qu'il y a pas moyen d'avoir un bouquin...

Bon j'ai un peu modifier suivant tes indications mais c'est pas encore ca... Je sais qu'il me manque une connerie mais j'arrives pas a trouver quoi...


TCHAR NomFichier[30];
 TCHAR *strfichier = NomFichier;

Je passes nomfichier dans la fnc

void CFichier::GenNom(TCHAR *p_Type, TCHAR *p_Retour)
{
 TCHAR strdate[30],datepart[10];
 TCHAR *test = strdate;
 TCHAR *tmp = datepart;
 SYSTEMTIME datesys;
 GetSystemTime(&datesys);
 wcscat(test,p_Type);

 _ultow(datesys.wDay,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wMonth,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wYear,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wHour,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wMinute,tmp,10);
 wcscat(test,tmp);
 _ultow(datesys.wSecond,tmp,10);
 wcscat(test,tmp);
 wcscat(test,TEXT(".txt"));

 *p_Retour =*test;
}

Mess with the best
Die Like the rest

jeudi 28 juillet 2005 à 14:15:30 | Re : Recuperation date system UNICODE

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !


void GenNom(TCHAR *pextens, TCHAR *pfile)
{
  TCHAR *c;
  SYSTEMTIME datesys;
  GetSystemTime(&datesys);
  wcscat(test,p_Type);

  _ultow(datesys.wDay, pfile, 10);
  c = pfile;
  while(*c) c++; // AU BOUT, EVITERA LES CONCAT
  _ultow(datesys.wMonth, c, 10);
  while(*c) c++; // ENCORE AU BOUT
  _ultow(datesys.wYear, c, 10);
  while(*c) c++; // ENCORE AU BOUT
  _ultow(datesys.wHour, c,10);
  while(*c) c++; // ENCORE AU BOUT
  _ultow(datesys.wMinute, c, 10);
  while(*c) c++; // ENCORE AU BOUT
  _ultow(datesys.wSecond, c, 10);
  wcscat(c, pextens);
}


TCHAR NomFichier[30];

on appelle:
GenNom(_TEXT(".txt"), NomFichier);
et NomFichier sera rempli.

ciao...
BruNews, MVP VC++


jeudi 28 juillet 2005 à 14:31:49 | Re : Recuperation date system UNICODE

raton



Heuuu... Ca marche... Je sais pas comment... J'ai suis pas vraiment sur d'avoir compris le while(*c) c++; // ENCORE AU BOUT
 
C'estr koi le principe. Ca fait defiler la chaine jusque tomber sur un caractere vide (ou le pointeur retournera null) ?

En tout cas merci...

Mess with the best
Die Like the rest

jeudi 28 juillet 2005 à 14:35:15 | Re : Recuperation date system UNICODE

BruNews

Administrateur CodeS-SourceS

concat va chercher fin de chaine (1er valeur NULL), on ne refera donc pas tous ces parcours à chaque fois donc on pousse un pointeur sur fin de chaine et on écrit à son adresse.
Rien de sorcier.

ciao...
BruNews, MVP VC++




Cette discussion est classé dans : date, probleme, chaine, unicode, datesys


Répondre à ce message

Sujets en rapport avec ce message

conversion de date [ par CHENRY ] En VC++ 6.0 avec les MFC.Pour convertir une date en chaine, j'ai bien trouvé la propriété MaChaine = MaDate.Format(0, LANG_USER_DEFAULT)mais pour conv fonction qui retourne un char [ par glipper ] Bonjour,Voila, j'ai un probleme avec une fonction qui doit retourner une chaine de caractere ! J'ai compris qu'elle ne pouvait pas renvoyer la chaine, Probleme de lecture d'un fichier x [ par Lavieillefolle ] Salut, j'aimerais savoir pourquoi, lorsque je tente de lire un fichier, avec ce code, je n'obtient qu'une boucle infinie?Code :#include #include main( probleme entre chaine et tableau [ par Elkaire ] salut a tous, je debute en C et je me retrouve confrontéau probleme suivant : dans une mon application cllient serveur mon client envoie des trames so date systeme [ par bibifinal ] bonjour, j'ai declaré 2 variables SystemTime XoST; TFileTime XoFT;mais, pour faire ce que je veu je doit convertir une cha probleme de liste chaine [ par cutibipoulet ] voila, ge débute en cpp et iles problèmes commences quand je fait une simple liste doublement chainé. JeDans cette liste, il existe undebut list_begin Probleme Equation C++/C [ par Ombreee ] Bonjour,Voila j'aimerai savoir si il existe une LIB ou autre qui me permetrai de resoudre une equation du premier degre a partire d'une chaine ??? Ou ligne de commande en Unicode [ par cesquerr ] Bonjour,j'ai un probleme avec le passage a l'unicode de certains logiciels. Lorsque je veux les ouvrir a partir d'une ligne de commande, comme j'ai de probleme d'une chaine de caracteres [ par bilaloch ] Bonjour a tous,J'ai un ptit probleme au niveau d'une manipulation sur une chaine de caracteres. Voici le code : std::string *position = <FONT color=# Probleme de chaine [ par jb212121 ] Bonjour à tous,Je suis en train de faire un petit programme en c et je souhaiterai utilisé un pointeur de caractere mais dev cpp me sort cette erreur


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,718 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.