Je veux écrire un programme qui (...) crée le répertoire et un (...) fichier à l'intérieur.
Parce que c'est une question très courante, voici le code pour créer plusieurs niveaux de répertoires et ensuite appeler fopen. J'utilise une extension GNU pour afficher le message d'erreur avec printf.
void rek_mkdir(char *path) {
char *sep = strrchr(path, '/');
if(sep != NULL) {
*sep = 0;
rek_mkdir(path);
*sep = '/';
}
if(mkdir(path, 0777) && errno != EEXIST)
fprintf(stderr, "erreur lors de la tentative de création de '%s'\n%m\n", path);
}
FILE *fopen_mkdir(char *path, char *mode) {
char *sep = strrchr(path, '/');
if(sep) {
char *path0 = strdup(path);
path0[ sep - path ] = 0;
rek_mkdir(path0);
free(path0);
}
return fopen(path,mode);
}
1 votes
La fonction mkdir crée un nouveau répertoire, blog.tremend.ro/2008/10/06/…
1 votes
Peut-être parce que vous pouvez trouver la solution sur Google ou même ici en faisant une recherche simple stackoverflow.com/search?q=C+make+directory. En passant, je ne suis pas la personne qui a voté négativement.
0 votes
Veuillez modifier votre question pour montrer le code que vous avez jusqu'à présent. Vous devriez inclure au moins un aperçu (mais de préférence un exemple reproductible minimal) du code avec lequel vous rencontrez des problèmes, puis nous pourrons essayer de vous aider avec le problème spécifique. Vous devriez également lire Comment poser une question.
1 votes
@TobySpeight Ce n'est pas un bon conseil pour cette question du tout. Cette question est beaucoup trop large, et il n'y a aucun "problème spécifique" qui n'est pas abordé par la question telle qu'elle est. Le problème est de trouver un moyen de créer un répertoire en C. Polluer la question avec le code spécifique de l'OP réduirait probablement considérablement l'applicabilité aux innombrables autres utilisateurs qui accéderaient à cette page.