Accéder à un fichier ressource

Fermé
hautparleur Messages postés 213 Date d'inscription mercredi 9 janvier 2013 Statut Membre Dernière intervention 13 mai 2016 - 16 févr. 2016 à 19:01
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 19 févr. 2016 à 19:04
Bonjour,
j'ai besoin d'accéder à un fichier ressource (RCDATA dans un .rc), pour le copier dans le dossier temporaire et l'utiliser plus tard.
J'ai essayé le chemin ":/ressource.wav" avec fopen mais ça ne fonctionne pas.
Il y a bien un moyen? Une fonction, un chemin d'accès...

Merci beaucoup!
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
16 févr. 2016 à 21:55
Bonjour,
Si tu souhaites copier le contenu d'un fichier dans un autre, il faut te la créer tout seul : une boucle for, tu lis depuis le fichier et colle dans l'autre.
0
hautparleur Messages postés 213 Date d'inscription mercredi 9 janvier 2013 Statut Membre Dernière intervention 13 mai 2016 15
16 févr. 2016 à 22:05
En fait mon code est compilé dans une DLL, avec un fichier .c et des ressources, dans le code il y a une fonction qui sera appelée par un programme externe.
Le problème c'est que cette fonction doit pouvoir accéder au fichier wav qui est lié dans le programme, pour copier je connais la fonction.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
16 févr. 2016 à 22:22
Sans code, ça va être dur de t'aider.
Tu souhaites y accéder comment ? En lecture ?
0
hautparleur Messages postés 213 Date d'inscription mercredi 9 janvier 2013 Statut Membre Dernière intervention 13 mai 2016 15
16 févr. 2016 à 22:26
int DllExport extract()
{
FILE* lfile = NULL;
lfile = fopen(":/nom_ressource","r");

FILE* dfile = NULL;
dfile = fopen("fichier.wav","w");

do{
fputc(fgetc(lfile), dfile);
}while(!feof(lfile));

fclose(lfile);
fclose(dfile);
return 0;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
16 févr. 2016 à 22:36
lfile = fopen(":/nom_ressource","r");
Tu es sur windows ou Linux ?
Si tu es sur Windows, utilise plutôt des \\. Sinon il manque le lecteur. Exemple : C:\\nom_ressource.
0
hautparleur Messages postés 213 Date d'inscription mercredi 9 janvier 2013 Statut Membre Dernière intervention 13 mai 2016 15
16 févr. 2016 à 22:39
le programme est sous windows
0