c语言如何读取当前目录下的所有txt文件
时间: 2023-07-18 22:09:34 浏览: 53
要读取当前目录下的所有txt文件,可以使用C语言中的目录操作函数和文件操作函数来实现。具体步骤如下:
1. 使用`opendir`函数打开当前目录,返回一个指向`DIR`结构体的指针。
2. 使用`readdir`函数读取目录下的文件列表,返回一个指向`dirent`结构体的指针。
3. 对于每个读取到的文件,判断其文件名是否以".txt"结尾,如果是则打开文件,读取其中的内容。
4. 使用`closedir`函数关闭目录。
下面是一个示例代码,可以列出当前目录下所有的txt文件并打印文件内容:
```c
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dp;
struct dirent *dirp;
char *filename;
char line[1024];
FILE *fp;
if ((dp = opendir(".")) == NULL) {
printf("can't open %s", ".");
return 0;
}
while ((dirp = readdir(dp)) != NULL) {
filename = dirp->d_name;
if (strlen(filename) >= 4 && strcmp(filename + strlen(filename) - 4, ".txt") == 0) {
fp = fopen(filename, "r");
if (fp == NULL) {
printf("can't open %s", filename);
continue;
}
printf("%s:\n", filename);
while (fgets(line, 1024, fp) != NULL) {
printf("%s", line);
}
fclose(fp);
}
}
closedir(dp);
return 0;
}
```
需要注意的是,该示例代码中对于文件读取的部分比较简单,没有进行错误处理,实际使用中需要根据需求进行适当的修改和完善。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)