c语言构造一个函数,读取文本文件中的字符,输入到一个数组中
时间: 2024-12-08 08:24:06 浏览: 29
在C语言中,你可以创建一个函数来读取文本文件中的字符并存储到数组中。这里是一个基本的示例,我们将使用`fopen`, `fgets`, 和 `fclose` 函数来完成这个任务:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 100 // 设置字符数组的最大容量
// 函数声明
void read_file_to_array(const char *filename, char arr[MAX_CHAR]);
int main() {
char file_contents[MAX_CHAR]; // 文件内容临时存储
const char *input_filename = "your_textfile.txt"; // 更改为你需要的文件路径
read_file_to_array(input_filename, file_contents);
printf("The characters in the file are:\n");
for (int i = 0; i < strlen(file_contents); i++) {
printf("%c", file_contents[i]);
if (i != strlen(file_contents) - 1) { // 不打印最后一个元素后的换行符
printf(", ");
}
}
return 0;
}
// 实现读取函数
void read_file_to_array(const char *filename, char arr[]) {
FILE *file = fopen(filename, "r"); // 打开文件,"r"表示读取模式
if (file == NULL) {
perror("Error opening file");
return;
}
size_t num_chars_read = fread(arr, sizeof(char), MAX_CHAR, file); // 读取字符到数组
arr[num_chars_read] = '\0'; // 添加字符串结束符
fclose(file); // 关闭文件
}
```
在这个例子中,你需要将`your_textfile.txt`替换为实际的文件名。注意,如果文件很大,`MAX_CHAR`可能不足以一次性读取整个文件,这时你应该考虑使用动态内存分配(如`malloc`)。
阅读全文