How to create a folder in C (need to run on both Linux and Windows)

对着背影说爱祢 提交于 2019-12-19 03:15:32

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!