用c语言读txt文件。路径/c/a/下有512个文件夹,这些文件夹的名字由两部分组成,第一部分是特定的字符串Case,第二部分是数字000-511,类似于Case0100。我要随机在这些文件夹里读取txt,txt名字相同
时间: 2024-03-17 22:41:51 浏览: 52
易语言-浏览网络文件夹易语言
你可以使用 C 语言的文件操作库 `stdio.h` 中的函数来读取 txt 文件。下面是一个示例代码,可以随机读取指定目录下的 txt 文件:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int main() {
char filepath[100];
char filename[10];
int folder_num = 512;
srand(time(NULL)); // 设置随机数种子
int folder_index = rand() % folder_num; // 随机生成文件夹索引
sprintf(filename, "%03d", folder_index); // 格式化文件夹名字
strcpy(filepath, "/c/a/Case"); // 拼接文件夹路径
strcat(filepath, filename);
FILE* fp = fopen(strcat(filepath, ".txt"), "r"); // 打开 txt 文件
if (fp == NULL) { // 错误处理
printf("Failed to open file.\n");
exit(1);
}
char ch;
while ((ch = fgetc(fp)) != EOF) { // 逐个字符读取文件内容
putchar(ch);
}
fclose(fp); // 关闭文件
return 0;
}
```
这个代码中,我们使用了 `rand()` 函数来生成一个随机数,然后通过格式化字符串的方式生成文件夹名字,最后拼接出完整的文件路径。接着我们使用 `fopen()` 函数打开 txt 文件,读取文件内容,最后关闭文件。
阅读全文