আমি একটি প্রোগ্রাম লিখতে চাই যা (...) এর ভিতরে ডিরেক্টরি এবং একটি (...) ফাইল তৈরি করে
কারণ এটি একটি খুব সাধারণ প্রশ্ন, এখানে একাধিক স্তরের ডিরেক্টরি তৈরি করার কোড এবং কল ফোপেনের চেয়ে কোড রয়েছে। আমি প্রিন্টফের সাহায্যে ত্রুটি বার্তা প্রিন্ট করতে একটি gnu এক্সটেনশন ব্যবহার করছি।
void rek_mkdir(char *path) {
char *sep = strrchr(path, '/');
if(sep != NULL) {
*sep = 0;
rek_mkdir(path);
*sep = '/';
}
if(mkdir(path, 0777) && errno != EEXIST)
printf("error while trying to create '%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);
}