Linux 程序设计中,文件操作是一个不可或缺的能力。文件操作涉及到文件的创建,打开,读取,写入,关闭等操作。Linux 系统提供了许多系统调用和库函数来实现这些操作。
例如,以下代码段演示了如何使用 open() 系统调用来打开一个文件:
include
include
include
include
int main() {
int fd = open("file.txt", O_RDWR | O_CREAT, 0644);
if (fd == -1) {
perror("open");
return 1;
}
// 对文件进行读写操作
close(fd);
return 0;
}
文件 IO 库
Linux 系统还提供了文件 IO 库,如 stdio 和 fcntl,它们提供了更高级别的文件操作接口。这些库提供了更简洁和方便的函数来进行文件操作。
例如,以下代码段演示了如何使用 stdio 库来打开和读取一个文件:
include
int main() {
FILE *fp = fopen("file.txt", "r");
if (fp == NULL) {
perror("fopen");
return 1;
}
// 对文件进行读取操作
fclose(fp);
return 0;
}
目录操作
除了文件操作外,Linux 程序设计还涉及到目录操作。目录操作允许程序创建,删除,列出,遍历目录等。Linux 系统提供了 opendir(),readdir(),closedir() 等系统调用来实现这些操作。
例如,以下代码段演示了如何使用 opendir() 系统调用来打开一个目录并遍历其内容:
include
include
include
int main() {
DIR *dir = opendir(".");
if (dir == NULL) {
perror("opendir");
return 1;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}