C语言读入文本文件中的数组
时间: 2023-10-29 21:59:02 浏览: 116
可以使用fscanf函数将文本文件中的数据读取到数组中。例如,可以使用以下代码:
```
#include <stdio.h>
int main() {
int array[100];
int i = 0;
FILE *fp = fopen("data.txt", "r"); // 打开文本文件
if(fp == NULL) {
printf("Can't open file\n");
return 0;
}
while(fscanf(fp, "%d", &array[i]) != EOF) { // 读取文件中的数据
i++;
}
fclose(fp); // 关闭文件
// 现在数组中就存储了文件中的数据,可以进行其它操作了
return 0;
}
```
相关问题
c语言读入文本文件以二进制存入新文件
您可以使用C语言中的标准库函数`fopen()`、`fread()`、`fwrite()`和`fclose()`来读入文本文件并将其以二进制形式存储到新文件中。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp1, *fp2;
char buffer[1024];
size_t nread;
fp1 = fopen("input.txt", "r"); // 打开输入文件
fp2 = fopen("output.bin", "wb"); // 打开输出文件
while ((nread = fread(buffer, 1, sizeof(buffer), fp1)) > 0) {
fwrite(buffer, 1, nread, fp2); // 将读取到的数据以二进制形式写入输出文件
}
fclose(fp1); // 关闭输入文件
fclose(fp2); // 关闭输出文件
return 0;
}
```
在这个代码中,我们首先使用`fopen()`函数打开输入文件`input.txt`和输出文件`output.bin`,并指定打开模式为`r`和`wb`,分别表示以只读模式打开输入文件和以二进制写入模式打开输出文件。然后,我们使用`fread()`函数从输入文件中读取数据,并将其存储到缓冲区中。接着,我们使用`fwrite()`函数将缓冲区中的数据以二进制形式写入输出文件。最后,我们使用`fclose()`函数关闭输入文件和输出文件。
注意,在这个示例代码中,我们使用了一个`buffer`数组来存储从输入文件中读取到的数据。`buffer`数组的大小可以根据需要进行调整。此外,我们还使用了一个`nread`变量来存储从输入文件中实际读取到的字节数,以确保我们只将读取到的数据写入到输出文件中。
c语言提取文件内容到数组里
在C语言中,将文件的内容读取到数组里通常涉及到文件操作和内存管理。假设你想要读取一个文本文件(如.txt或.c文件),你可以使用标准库函数`fopen`打开文件,`fread`或`fgets`逐行读取数据,然后存储到字符数组中。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define FILE_SIZE 1024 // 文件最大读取大小
// 用于存放文件内容的字符数组
char file_content[FILE_SIZE];
int main() {
FILE *fp;
char line[1024]; // 每次读取一行的临时缓冲区
// 打开文件
if ((fp = fopen("example.txt", "r")) == NULL) {
printf("Error opening the file.\n");
return 1;
}
// 读取并存储文件内容
int i = 0; // 记录已读入字节的数量
while (fgets(line, sizeof(line), fp)) {
file_content[i++] = line[0]; // 只保存首字节,实际需求可能需要修改
// 如果你需要完整的行,可以不做此限制
}
file_content[i] = '\0'; // 结束字符串
fclose(fp);
// 现在file_content数组包含了文件的原始内容
// 注意处理边界情况和错误检查,例如文件过大超出数组容量等
// 示例:
printf("File content:\n%s\n", file_content);
阅读全文