Wcstok

frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008 - 25 janv. 2004 à 23:21
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 26 janv. 2004 à 00:52
Bonjours a tous!
j'ai un petit probleme avec wcstok
je ne sais pas comment declarer une constante WCHAR
pour faire mon token...
avec char ont fait
char token[]="\n";
si je fait juste remplacer char par WCHAR ca marche pas!
es-ce que quelqu'un a une idee?
Merci d'avance!
Destroyers27

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2004 à 00:10
wcstok comme strtok sont vraiment des fonctions qui ne servent a rien.
Fais ta boucle toi meme avec un pointeur.
ciao...
BruNews, Admin CS.
0
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008
26 janv. 2004 à 00:32
mon probleme c'est que je lis une ligne dans un fichier ex:
c:\mp3\musique.mp3
mais pour pouvoir m'en serivir dans mon programme il doit y avoir \\ a place de chaque \ et ca doit etre dans une variable WCHAR ou LPCWSTR et je sais pas trop comment m'y prendre
aussi m'a surement passer pour un poche mais meme avec ton idee de pointeur je sais pas plus comment m'y prendre
mon idee premiere etait d'utiliser les token mettre dans un buffer il efface le \ donc en rajouter 2 avec la version WCHAR de strcat et rajouter avec strcat juste qu'au prochain token ansi de suite juste qu'a ce qu'il n'y ai plus de token!
bon surement qu'il ya un meilleur moyen si quelqu'un peux
m'aider ca serait tres sympa!
parce que ca fait un bout que j'en arrache avec ca!
Destroyers27
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2004 à 00:51
TCHAR *pstr = "c:\\mp3\\musique.mp3";
qui serait ta ligne lue.
TCHAR *pmem, *c, *d;
pmem = (TCHAR*) malloc(lstrlen(pstr) * 2);
je suis large, y aura pas que des "" mais faisons comme si.
c = pstr;
d = pmem;
while(*c) {
*d++ = *c;if(*c '\\') *d++ '\\';
*c++;
}
*d = 0; // finir la chaine

ciao...
BruNews, Admin CS.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2004 à 00:52
OUPS,
while(*c) {
*d++ = *c;if(*c '\\') *d++ '\\';
c++; // ici y avait erreur de frappe
}
ciao...
BruNews, Admin CS.
0
Rejoignez-nous