Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
Thomas Boidron wrote:Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
fichier, ou bien alors passer un chemin complet à fopen (ou CreateFile).
Arnaud
Thomas Boidron wrote:
Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
fichier, ou bien alors passer un chemin complet à fopen (ou CreateFile).
Arnaud
Thomas Boidron wrote:Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
fichier, ou bien alors passer un chemin complet à fopen (ou CreateFile).
Arnaud
"Arnaud Debaene" a écrit dans le message news:
40b85913$0$17155$Thomas Boidron wrote:Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
fichier, ou bien alors passer un chemin complet à fopen (ou CreateFile).
Arnaud
Merci de ta réponse.
Mon probleme et que je ne peux pas connnaitre le chemin complet ( mon
programme peux etre deplacé sur le disque dur).
Si, et c'est la seule chose qui est en rapport avec le langage C++ (ou
Donc comment faire pour connaitre le repertoire courant?
Si vous avez un prototype :
"Arnaud Debaene" <adebaene@club-internet.fr> a écrit dans le message news:
40b85913$0$17155$626a14ce@news.free.fr...
Thomas Boidron wrote:
Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
fichier, ou bien alors passer un chemin complet à fopen (ou CreateFile).
Arnaud
Merci de ta réponse.
Mon probleme et que je ne peux pas connnaitre le chemin complet ( mon
programme peux etre deplacé sur le disque dur).
Si, et c'est la seule chose qui est en rapport avec le langage C++ (ou
Donc comment faire pour connaitre le repertoire courant?
Si vous avez un prototype :
"Arnaud Debaene" a écrit dans le message news:
40b85913$0$17155$Thomas Boidron wrote:Bonjour,
j'ai un programme qui est dans C:program filesMonProg
qui crée un fichier option.txt (avec fopen ouCreatefile) lorquil est
lancé.
Mon probleme est le suivant:
si je crée un racourci vers mon executable alors le fichier
option.txt est crée dans
le repertoire ou se trouve le raccourci au lieu d'etre crée dans le
repertoire ou se trouve l'executable.
Quelqu'un peut-il m'aider?
Tu dois vérifier le répertoire courant de ton exécutable avant de créer le
fichier, ou bien alors passer un chemin complet à fopen (ou CreateFile).
Arnaud
Merci de ta réponse.
Mon probleme et que je ne peux pas connnaitre le chemin complet ( mon
programme peux etre deplacé sur le disque dur).
Si, et c'est la seule chose qui est en rapport avec le langage C++ (ou
Donc comment faire pour connaitre le repertoire courant?
Si vous avez un prototype :
Merci de ta réponse.
Mon probleme et que je ne peux pas connnaitre le chemin complet ( mon
programme peux etre deplacé sur le disque dur).
Donc comment faire pour connaitre le repertoire courant?
<HS>GetCurrentDirectory et SetCurrentDirectory</HS>
Merci de ta réponse.
Mon probleme et que je ne peux pas connnaitre le chemin complet ( mon
programme peux etre deplacé sur le disque dur).
Donc comment faire pour connaitre le repertoire courant?
<HS>GetCurrentDirectory et SetCurrentDirectory</HS>
Merci de ta réponse.
Mon probleme et que je ne peux pas connnaitre le chemin complet ( mon
programme peux etre deplacé sur le disque dur).
Donc comment faire pour connaitre le repertoire courant?
<HS>GetCurrentDirectory et SetCurrentDirectory</HS>
Donc comment faire pour connaitre le repertoire courant?
Si vous avez un prototype :
int main(int argc, char * argv[]);
argv[0] pointe sur le nom du programme selon la norme, cette chaine
est modifiable et persisante durant la durée du programme.
Ce nom est le chemin complet dans votre OS.
Si vous vous imposez un nom de programme (MonProg.exe) plus long ou de
même taille que option.txt (vous pourriez par exemple choisir
MonProg.ini), vous pouvez faire un truc du genre :
<code>
int main(int argc, char * argv[])
{
const char* sortie = "option.txt";
int L;
for(L = strlen(argv[0]); argv[0][L] != ''; --L){}
/* Comparer L+1 et strlen(sortie) */
argv[0][L+1] = ' ';
strcat(argv[0], sortie);
FILE* f = fopen(argv[0], "w");
/* bosser sur f */
fclose(f);
/* bosser */
return 0;
}
</code>
Donc comment faire pour connaitre le repertoire courant?
Si vous avez un prototype :
int main(int argc, char * argv[]);
argv[0] pointe sur le nom du programme selon la norme, cette chaine
est modifiable et persisante durant la durée du programme.
Ce nom est le chemin complet dans votre OS.
Si vous vous imposez un nom de programme (MonProg.exe) plus long ou de
même taille que option.txt (vous pourriez par exemple choisir
MonProg.ini), vous pouvez faire un truc du genre :
<code>
int main(int argc, char * argv[])
{
const char* sortie = "option.txt";
int L;
for(L = strlen(argv[0]); argv[0][L] != '\'; --L){}
/* Comparer L+1 et strlen(sortie) */
argv[0][L+1] = ' ';
strcat(argv[0], sortie);
FILE* f = fopen(argv[0], "w");
/* bosser sur f */
fclose(f);
/* bosser */
return 0;
}
</code>
Donc comment faire pour connaitre le repertoire courant?
Si vous avez un prototype :
int main(int argc, char * argv[]);
argv[0] pointe sur le nom du programme selon la norme, cette chaine
est modifiable et persisante durant la durée du programme.
Ce nom est le chemin complet dans votre OS.
Si vous vous imposez un nom de programme (MonProg.exe) plus long ou de
même taille que option.txt (vous pourriez par exemple choisir
MonProg.ini), vous pouvez faire un truc du genre :
<code>
int main(int argc, char * argv[])
{
const char* sortie = "option.txt";
int L;
for(L = strlen(argv[0]); argv[0][L] != ''; --L){}
/* Comparer L+1 et strlen(sortie) */
argv[0][L+1] = ' ';
strcat(argv[0], sortie);
FILE* f = fopen(argv[0], "w");
/* bosser sur f */
fclose(f);
/* bosser */
return 0;
}
</code>
Thomas Boidron wrote:
<snip>Mon probleme et que je ne peux pas connnaitre le chemin complet (
mon programme peux etre deplacé sur le disque dur). Donc comment
faire pour connaitre le repertoire courant?
<HS>GetCurrentDirectory et SetCurrentDirectory</HS>
Mieux vaut se méfier des solutions utilisant argv[0] : selon les OS,
les environnements, les shells utilisés, la manière dont le programme
a été lancé, etc..., le contenu de argv[0] n'est pas toujours fiable
(c'est parfois juste le nom du programme, parfois le chemin complet de
l'executable, j'en passe et des meilleures...)
Thomas Boidron wrote:
<snip>
Mon probleme et que je ne peux pas connnaitre le chemin complet (
mon programme peux etre deplacé sur le disque dur). Donc comment
faire pour connaitre le repertoire courant?
<HS>GetCurrentDirectory et SetCurrentDirectory</HS>
Mieux vaut se méfier des solutions utilisant argv[0] : selon les OS,
les environnements, les shells utilisés, la manière dont le programme
a été lancé, etc..., le contenu de argv[0] n'est pas toujours fiable
(c'est parfois juste le nom du programme, parfois le chemin complet de
l'executable, j'en passe et des meilleures...)
Thomas Boidron wrote:
<snip>Mon probleme et que je ne peux pas connnaitre le chemin complet (
mon programme peux etre deplacé sur le disque dur). Donc comment
faire pour connaitre le repertoire courant?
<HS>GetCurrentDirectory et SetCurrentDirectory</HS>
Mieux vaut se méfier des solutions utilisant argv[0] : selon les OS,
les environnements, les shells utilisés, la manière dont le programme
a été lancé, etc..., le contenu de argv[0] n'est pas toujours fiable
(c'est parfois juste le nom du programme, parfois le chemin complet de
l'executable, j'en passe et des meilleures...)
Impossible en C/C++ standard. Typiquement, il y a une requête système
pour ça. (getcwd() sous Unix, GetCurrentDirectory() or _getcwd() sous
Windows.)
GetCurrentDirectory() ne résoud pas le problème. Il renvoie le même
Seulement si tu veux du code qui ne marche pas. Est-ce que tu connais le
C++ ? Ou même le C (parce qu'il n'y a rien de C++ dans ton code) ?
Non, il n'y a rien de C++ dans ce code. Il se trouve que main() passe
Enfin, ça ne marche pas chez moi, et je n'ai pas de mal à voir les cas
où il provoque l'équivalent d'un core.
Impossible en C/C++ standard. Typiquement, il y a une requête système
pour ça. (getcwd() sous Unix, GetCurrentDirectory() or _getcwd() sous
Windows.)
GetCurrentDirectory() ne résoud pas le problème. Il renvoie le même
Seulement si tu veux du code qui ne marche pas. Est-ce que tu connais le
C++ ? Ou même le C (parce qu'il n'y a rien de C++ dans ton code) ?
Non, il n'y a rien de C++ dans ce code. Il se trouve que main() passe
Enfin, ça ne marche pas chez moi, et je n'ai pas de mal à voir les cas
où il provoque l'équivalent d'un core.
Impossible en C/C++ standard. Typiquement, il y a une requête système
pour ça. (getcwd() sous Unix, GetCurrentDirectory() or _getcwd() sous
Windows.)
GetCurrentDirectory() ne résoud pas le problème. Il renvoie le même
Seulement si tu veux du code qui ne marche pas. Est-ce que tu connais le
C++ ? Ou même le C (parce qu'il n'y a rien de C++ dans ton code) ?
Non, il n'y a rien de C++ dans ce code. Il se trouve que main() passe
Enfin, ça ne marche pas chez moi, et je n'ai pas de mal à voir les cas
où il provoque l'équivalent d'un core.
"Arnaud Debaene" wrote in message
news:<40baf1f6$0$23506$...
De l'autre : quel rapport entre le répertoire courant et le chemin de
l'executable ? Que je sois sous Unix ou sous Windows, l'executable
n'est pour ainsi dire jamais dans le répertoire courant.
"Arnaud Debaene" <adebaene@club-internet.fr> wrote in message
news:<40baf1f6$0$23506$636a15ce@news.free.fr>...
De l'autre : quel rapport entre le répertoire courant et le chemin de
l'executable ? Que je sois sous Unix ou sous Windows, l'executable
n'est pour ainsi dire jamais dans le répertoire courant.
"Arnaud Debaene" wrote in message
news:<40baf1f6$0$23506$...
De l'autre : quel rapport entre le répertoire courant et le chemin de
l'executable ? Que je sois sous Unix ou sous Windows, l'executable
n'est pour ainsi dire jamais dans le répertoire courant.
wrote:"Arnaud Debaene" wrote in message
news:<40baf1f6$0$23506$...
De l'autre : quel rapport entre le répertoire courant et le chemin de
l'executable ? Que je sois sous Unix ou sous Windows, l'executable
n'est pour ainsi dire jamais dans le répertoire courant.
L'OP n'était pas trop clair de de savoir s'il voulait créer son fichier
option.txt dans le répertoire courant ou bien dans le répertoire de
l'executable.
Dans les 2 cas, c'est une solution spécifique à l'OS : GetCurrentDirectory
pour le répertoire courant ou GetModuleFileName(NULL) pour le répertoire de
l'executable.
En fait, il me semble clair que Thomas veut que option.txt continue à
kanze@gabi-soft.fr wrote:
"Arnaud Debaene" <adebaene@club-internet.fr> wrote in message
news:<40baf1f6$0$23506$636a15ce@news.free.fr>...
De l'autre : quel rapport entre le répertoire courant et le chemin de
l'executable ? Que je sois sous Unix ou sous Windows, l'executable
n'est pour ainsi dire jamais dans le répertoire courant.
L'OP n'était pas trop clair de de savoir s'il voulait créer son fichier
option.txt dans le répertoire courant ou bien dans le répertoire de
l'executable.
Dans les 2 cas, c'est une solution spécifique à l'OS : GetCurrentDirectory
pour le répertoire courant ou GetModuleFileName(NULL) pour le répertoire de
l'executable.
En fait, il me semble clair que Thomas veut que option.txt continue à
wrote:"Arnaud Debaene" wrote in message
news:<40baf1f6$0$23506$...
De l'autre : quel rapport entre le répertoire courant et le chemin de
l'executable ? Que je sois sous Unix ou sous Windows, l'executable
n'est pour ainsi dire jamais dans le répertoire courant.
L'OP n'était pas trop clair de de savoir s'il voulait créer son fichier
option.txt dans le répertoire courant ou bien dans le répertoire de
l'executable.
Dans les 2 cas, c'est une solution spécifique à l'OS : GetCurrentDirectory
pour le répertoire courant ou GetModuleFileName(NULL) pour le répertoire de
l'executable.
En fait, il me semble clair que Thomas veut que option.txt continue à