Problème de fichier en C

Résolu
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008 - 3 sept. 2008 à 15:11
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008 - 5 sept. 2008 à 15:43
Je cherche à créer un fichier qui s'ouvre lui même sans qu'il puisse dépendre de son propre nom. Est ce que c'est possible ?

FILE *fichier;
fichier = fopen("nom_du_fichier","a+");
fclose(fichier);

Mon but est qu'il puisse s'ouvrir lui même, même si on le renome.

11 réponses

nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
4 sept. 2008 à 02:02
voici pour le dos
a.exe

main(int gc,char *gv[]) {

gv[0] = EST EGALE au NOM de ton exe
printf("%s",gv[0]);

resultat  a.exe 

}
///////////////////////

pour win
quelque chose comme ca de memoire j ai pas le code sous le nez
g_hInst = LPCREATESTRUCT(lParam)->hInstance;
3
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
3 sept. 2008 à 16:27
Hello,
Euh...y'a pas de mystère: pour ouvrir un fichier, il faut lui spécifier un nom.
A moins de sauvegarder le nom que tu veux garder, pas de solution

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
3 sept. 2008 à 17:47
Mais le problème c'est que j'ai créer un SFX, c'est un fichier d'installation si tu préfère, mais le problème c'est que si tu change le nom de mon programme, alors mon SFX ne fait rien du tout, d'où l'utilité du sujet. Sinon j'ai mieux comme problème à résoudre, est ce qu'on peut créer un programme capable d'afficher son nom dans la console ?
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
3 sept. 2008 à 17:52
Ah ça oui: un programme peut afficher son nom dans la console.
Regarde la fonction getModuleFileName(). Peut-être sera-t-elle la solution à tes ennuis...

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
3 sept. 2008 à 18:20
Ouais mais je préfère un code qui soit portable sur tout les systèmes, il y a pas moyen d'utiliser les fonctions de bases de stdio.h ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 sept. 2008 à 19:41
Parce que ton SFX est portable (tu peux le lancer sur Linux comme sur Windows) ???

Si tu veux te borner au "portable", il faudra alors te contenter de quelques printf sur la console et rien de plus. Un prog portable l'est tant qu'il ne fait rien.

ciao...
BruNews, MVP VC++
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
4 sept. 2008 à 08:51
On peut également utiliser la cde suivante:

GetCommandLine()

et en extraire le 1er elt...

___________________________________________________________
Magicalement
Nono
0
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
5 sept. 2008 à 14:57
Je vais essayer ce que dit nanonavich. Si ça marche, je publirais le programme sur le site.
0
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
5 sept. 2008 à 15:22
J'arrive pas à le compiler, ça écrit dans la console :
main.c:3: conflicting types for `argv'
main.c:3: previous declaration of `argv'
0
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
5 sept. 2008 à 15:29
Il n'y a plus aucun problème désormais. J'ai tout corriger.
0
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
5 sept. 2008 à 15:43
Mon programme d'installation marche extrêmement bien.
0
Rejoignez-nous