Question

I don't have much experience and I'm on a C project where I need to create & delete folders and the program must run on both Linux and Windows.

I saw few solutions but all were either for Windows or Linux but none for both and most uses system(...).

Also, if there is an easy way to delete a folder with it's contents, I'm interrested (for the moment I delete each files one by one and then the folder with remove(...)) Thanks in advance.

Was it helpful?

Solution

Here is a common 'create directory' method:

void make_directory(const char* name) 
   {
   #ifdef __linux__
       mkdir(name, 777); 
   #else
       _mkdir(name);
   #endif
   }

As for removing directories, you are on the right track, ie:

for the moment I delete each files one by one and then the folder with remove(...)

OTHER TIPS

It is not what you should do in production code, but I had to mention that one liner solution no #ifdef etc. I am Assuming you run it from the same path you want to create the directory in:

system("mkdir my_dir");

As I know, you can use the cd (change directory) command to create folder. You can use the rmdir command to delete empty directories. If you want to delete the directory with its contents, use rm -rf name-of-the-directory. The -rf specifies to force the deletion and to do it recursively.

You can use these using the command line, but if you want to do this programmatically, I'd say that PHP is suitable to do such.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top