C语言实现批量创建文件夹
时间: 2023-04-03 13:00:59 浏览: 93
可以使用C语言中的mkdir函数来实现批量创建文件夹。具体实现方法可以参考以下代码:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char dirname[20];
for(i=1; i<=10; i++)
{
sprintf(dirname, "folder%d", i);
mkdir(dirname);
}
return ;
}
```
以上代码可以创建10个名为folder1、folder2、...、folder10的文件夹。
相关问题
C语言库函数实现删除文件夹
可以使用remove函数来删除文件夹,但是需要先删除文件夹内的所有文件和子文件夹。可以使用递归的方式来实现删除文件夹内的所有文件和子文件夹。具体实现可以参考以下代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <sys/stat.h>
int remove_dir(const char *path) {
DIR *dir;
struct dirent *entry;
char child_path[512];
int ret = 0;
dir = opendir(path);
if (!dir) {
perror("opendir");
return -1;
}
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
snprintf(child_path, sizeof(child_path), "%s/%s", path, entry->d_name);
if (entry->d_type == DT_DIR) {
if (remove_dir(child_path) == -1) {
ret = -1;
break;
}
} else {
if (remove(child_path) == -1) {
ret = -1;
break;
}
}
}
closedir(dir);
if (ret == 0) {
if (rmdir(path) == -1) {
perror("rmdir");
ret = -1;
}
}
return ret;
}
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <dir>\n", argv[0]);
exit(EXIT_FAILURE);
}
if (remove_dir(argv[1]) == -1) {
fprintf(stderr, "Failed to remove directory %s\n", argv[1]);
exit(EXIT_FAILURE);
}
printf("Directory %s removed successfully\n", argv[1]);
return 0;
}
```
C语言mkdir在当前文件夹下创建文件夹
在C语言中,可以通过使用头文件`<sys/stat.h>`中的`mkdir()`函数来创建一个新的文件夹。下面是一个简单的示例代码,用于在当前工作目录下创建一个名为“new_folder”的文件夹:
```c
#include <sys/stat.h>
#include <sys/types.h>
#include <stdio.h>
int main() {
int status;
status = mkdir("new_folder", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
if(status == 0) {
printf("Folder created successfully\n");
}
else {
printf("Unable to create folder\n");
}
return 0;
}
```
在上面的代码中,`mkdir()`函数的第一个参数是要创建的文件夹的名称("new_folder")。第二个参数是文件夹的权限,此处设置为可读、可写、可执行的用户权限、组权限和其他用户权限。如果`mkdir()`函数成功创建了文件夹,则会返回0,否则将返回-1。