c语言读txt文件,有100个txt文件,它们都放在/data/txt/下。这100个txt文件的名字都是由两部分组成,第一部分是特定的字符串,第二部分是数字000-521。我要随机读取这些文件中的其中一个
时间: 2024-03-17 16:40:57 浏览: 58
C语言中.h和.c文件解析[归类].pdf
好的,你可以使用C语言中的标准库函数`fopen()`打开文件,使用`rand()`函数生成随机数来选择一个文件,然后使用`fgets()`函数读取文件内容。具体代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define FILE_PATH "/data/txt/"
#define FILE_NAME_PREFIX "prefix" // 第一部分字符串
int main()
{
char file_name[50];
sprintf(file_name, "%s%s%03d.txt", FILE_PATH, FILE_NAME_PREFIX, rand() % 522); // 生成文件名
FILE *fp = fopen(file_name, "r"); // 打开文件
if (fp == NULL) {
printf("Failed to open file: %s\n", file_name);
return -1;
}
char buf[1024];
while (fgets(buf, sizeof(buf), fp) != NULL) { // 读取文件内容
printf("%s", buf);
}
fclose(fp); // 关闭文件
return 0;
}
```
注意,使用`rand()`函数前需先使用`srand()`函数设置种子,可以使用`time(NULL)`函数获取当前时间作为种子。
阅读全文