使用mkdir系统调用函数,在当前路径下创建一个名为“学号_姓名”的目录,如果创建成功,显示成功信息,再次执行一次,请给出出错信息。请编写C程序实现。
时间: 2024-09-22 16:04:42 浏览: 43
在C语言中,你可以使用`mkdir()`系统调用函数来创建目录。这是一个简单的示例,展示了如何创建一个名为"学号_姓名"的目录,以及处理可能出现的错误:
```c
#include <stdio.h>
#include <sys/stat.h>
#include <stdlib.h>
#define NAME_FORMAT "学号_姓名"
int main() {
char dir_name[strlen(NAME_FORMAT) + 1]; // 防止溢出
snprintf(dir_name, sizeof(dir_name), "%s", NAME_FORMAT); // 指定目录名
if (mkdir(dir_name, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)) { // 使用S_IRWXU等权限
perror("Error creating directory"); // 如果失败,打印错误信息
return 1; // 返回非零值表示错误
} else {
printf("Directory '%s' created successfully.\n", dir_name);
}
// 再次尝试创建,通常这不是一个好的实践,但在教程中可以这样做
system("pause"); // 在这里暂停一下以便观察第一次操作结果
return mkdir(dir_name, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); // 只是为了演示,实际应用中不需要
}
```
在这个例子中,我们首先创建了一个字符串来存储目录名称,然后调用`mkdir()`函数。如果创建成功,我们会打印成功的消息;如果不成功,会调用`perror()`函数打印错误信息,并返回1。
请注意,第二次尝试创建目录是在`system("pause")`之后,这通常不是实际项目中的做法,只是为了在这里演示多次尝试。在实际应用中,你可能只会在首次尝试时检查错误。此外,`system("pause")`会使程序暂停直到用户按下回车键,以便查看之前的输出。
阅读全文