c语言stat函数
时间: 2023-11-26 14:04:07 浏览: 126
C语言中的stat函数用于获取文件的属性信息,包括文件大小、修改时间、访问时间等。它的定义如下:
```c
int stat(const char *pathname, struct stat *statbuf);
```
其中,pathname是要查看属性的文件路径名,statbuf是一个包含了文件属性信息的结构体指针。调用成功返回0,失败返回-1。在调用成功后,可以通过statbuf结构体中的成员变量获取文件的各种属性信息。例如:
```c
#include <stdio.h>
#include <sys/stat.h>
int main() {
struct stat st;
if (stat("test.txt", &st) != 0) {
printf("Failed to get file status\n");
return 1;
}
printf("File size: %ld bytes\n", st.st_size);
printf("Last modified time: %ld\n", st.st_mtime);
printf("Last accessed time: %ld\n", st.st_atime);
return 0;
}
```
相关问题
c语言stat输入输出
在C语言中,`stat()` 函数是一个库函数,它用于获取文件或目录的相关信息,如大小、权限、修改时间等,属于标准的POSIX(Portable Operating System Interface for Unix)API。这个函数主要用于处理文件系统操作,特别是对于需要检查文件状态的应用。
`stat()` 的基本原型如下:
```c
#include <sys/stat.h>
struct stat fileStat; // 结构体用来存放文件信息
int stat(const char *path, struct stat *buf); // path是要检测的文件路径,buf是存放结果的结构体指针
```
调用 `stat(path, &fileStat)` 后,`fileStat` 结构会被填充有关 `path` 所指向的文件的信息,例如:
- `st_size`: 文件的字节数
- `st_mode`: 权限和类型(文件、目录等)
- `st_mtime`: 修改时间戳
你可以通过这个函数来判断一个文件是否存在,是否可读写,或者文件类型等。
如果你想从标准输入 (`stdin`) 或者其他设备文件读取数据,可以使用 `fstat()` 函数,如果要写入则通常会用到 `open()`, `write()`, 和 `close()` 等函数配合。
c语言 mkdir函数
C语言中的mkdir函数用于创建一个新的目录。它的函数原型如下:
```c
#include <sys/stat.h>
int mkdir(const char *pathname, mode_t mode);
```
其中,`pathname`是要创建的目录路径名,`mode`是设置目录的访问权限。返回值为0表示成功创建目录,返回-1表示失败。
以下是一个示例代码:
```c
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
int main() {
const char *path = "/path/to/new_directory";
int res = mkdir(path, 0777); // 设置权限为777
if (res == -1) {
perror("Error creating directory");
return errno;
}
printf("Directory created successfully\n");
return 0;
}
```
在上面的示例中,我们使用mkdir函数创建了一个名为new_directory的目录。如果创建失败,我们使用perror函数打印错误信息。
请注意,为了使用mkdir函数,你需要包含头文件`<sys/stat.h>`。并且根据需要设置合适的访问权限。
阅读全文