Création d'un fichier texte dans un répertoire au nom aléatoire
Posté : mer. 15 mai 2019 12:03
Bonjour !
Je viens de m'inscrire sur le forum, du coup si je fait quelques erreurs, veuillez me pardonnez !
Après ne pas avoir trouvé de solution sur internet, voici mon problème : J'aimerai pouvoir créer un fichier texte dans un répertoire au nom aléatoire. Je m'explique, mon projet consiste, à l'aide d'un lecteur laser, à scanner des codes barres puis, à chaque code barre scanné, créer un répertoire portant comme nom la valeur du code barre et ensuite créer un fichier texte dans ce répertoire. Je n'arrive donc pas à dire le chemin à prendre au fichier texte car le nom du répertoire est aléatoire. Pouvez vous m'aider ?
Voici le code (excusé les petites coquilles si il y en a) :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
char dossier[100] = {0};
char cmd[110] = "";
FILE *txt;
int main()
{
while (1)
{
scanf("%s", dossier);
printf("Code barre : [%s]\n", dossier);
strcat(cmd, dossier);
sprintf(cmd, "Code barre/%s", dossier);
mkdir(cmd,0777);
txt = fopen("/home/pi/Desktop/Code barre/code barre.txt","w"); //<========== Le problème est ici, je n'arrive pas à dire le bon chemin
fwrite (dossier,1,sizeof(dossier),txt);
fclose(txt);
}
}
Je viens de m'inscrire sur le forum, du coup si je fait quelques erreurs, veuillez me pardonnez !
Après ne pas avoir trouvé de solution sur internet, voici mon problème : J'aimerai pouvoir créer un fichier texte dans un répertoire au nom aléatoire. Je m'explique, mon projet consiste, à l'aide d'un lecteur laser, à scanner des codes barres puis, à chaque code barre scanné, créer un répertoire portant comme nom la valeur du code barre et ensuite créer un fichier texte dans ce répertoire. Je n'arrive donc pas à dire le chemin à prendre au fichier texte car le nom du répertoire est aléatoire. Pouvez vous m'aider ?
Voici le code (excusé les petites coquilles si il y en a) :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
char dossier[100] = {0};
char cmd[110] = "";
FILE *txt;
int main()
{
while (1)
{
scanf("%s", dossier);
printf("Code barre : [%s]\n", dossier);
strcat(cmd, dossier);
sprintf(cmd, "Code barre/%s", dossier);
mkdir(cmd,0777);
txt = fopen("/home/pi/Desktop/Code barre/code barre.txt","w"); //<========== Le problème est ici, je n'arrive pas à dire le bon chemin
fwrite (dossier,1,sizeof(dossier),txt);
fclose(txt);
}
}