Bonjour

Pour faire simple, je créer un fichier en faisant un appel système

Code : Sélectionner tout - Visualiser dans une fenêtre à part
system("ma_commande param1 ...");
Or le param1 est le nom d'un fichier (qui peut éventuellement contenir des accents).

Dans le détail, voici comment je procède

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#include <locale.h>
...
int main(void)
{
...
	char	*file;
	setlocale(LC_CTYPE, "fr_FR.ISO-8859-1");
...
	sprintf(file,"%ls- %ls.mp3",cd.artist,cd.titleTracks[i]);
        sprintf(cmd,"ma_commande %ls",file);
}
Cela fonctionne sauf que si il y a des caractères accentués, ceux-ci sont remplacés par un "?" :/

Les variabkes cd.artist et cd.titleTracks sont issues d'une lecture CDDB (qui je crois encode en UTF8).

Une idée pour arriver à avoir des accents dans es nom de fichiers ?

PS : Je code sous Linux (Ubuntu 64bits)

Merci

Elekaj