问题
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.
回答1:
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(...)
回答2:
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");
回答3:
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.
来源:https://stackoverflow.com/questions/23271990/how-to-create-a-folder-in-c-need-to-run-on-both-linux-and-windows