C语言怎么读取txt文件里的数据放到数组里
时间: 2023-06-05 17:08:10 浏览: 348
你好,这个问题属于技术问题,我可以为您提供解答。您可以通过以下 C 语言代码读取 txt 文件并将其数据存入数组中:
```c
#include <stdio.h>
int main() {
FILE *file;
int array[100];
int i = 0, num;
file = fopen("data.txt", "r");
if (file == NULL) {
printf("Unable to open file");
return 0;
}
while (fscanf(file, "%d", &num) == 1) {
array[i++] = num;
}
fclose(file);
// 打印数组中的元素
for (int j = 0; j < i; j++) {
printf("%d ", array[j]);
}
return 0;
}
```
以上代码假设您将 txt 文件命名为 "data.txt",并且该文件中只包含整数,每个整数占据一行。代码将依次读取每行的整数,并将其存储在数组中,并打印数组中的内容。
相关问题
c语言从文件中读取放到数组中
在C语言中,我们可以使用文件操作相关的函数将文件中的内容读取到数组中。
首先,需要打开文件,并创建一个指针变量来引用这个文件。可以使用fopen函数来打开文件,并将文件的路径以及打开方式作为参数传入。例如,如果文件名为data.txt,可以使用以下代码打开文件:
```c
FILE *fp;
fp = fopen("data.txt", "r");
```
接下来,我们需要声明一个数组来存储文件中的内容。可以根据实际需要选择不同类型的数组,例如int、char等。假设我们使用int类型的数组,声明一个长度为100的整型数组:
```c
int arr[100];
```
然后,我们可以使用循环结构将文件中的内容逐行读取,并将每行的值存储到数组中。使用fgets函数可以逐行读取文件中的内容,需要传入一个字符数组、读取的最大字符数以及文件指针作为参数。例如:
```c
int i = 0;
char line[100];
while (fgets(line, sizeof(line), fp)) {
arr[i] = atoi(line); //将字符串转换为整数并存储到数组中
i++;
}
```
最后,完成读取操作后,需要使用fclose函数关闭文件,释放资源。例如:
```c
fclose(fp);
```
以上就是将文件内容读取到数组中的基本步骤。读取文件内容并存储到数组中可以通过循环、条件语句和相应的文件操作函数完成。根据具体需求,还可以添加其他处理逻辑,例如数据校验、数据转换等。
C语言从excel中读取数据放入二维数组
好的,这是一个比较常见的需求,主要利用C语言的文件读写和字符串处理函数来实现。以下是一种可能的实现方式:
1. 打开Excel文件,读取需要的单元格数据并将其保存到文件中
```c
#include <stdio.h>
#define MAX_ROWS 100
#define MAX_COLS 100
int main() {
FILE *fp;
char buffer[1024];
int row, col = 0;
double data[MAX_ROWS][MAX_COLS];
fp = fopen("data.csv", "r");
while(fgets(buffer, 1024, fp)) {
char *ptr = strtok(buffer, ",");
col = 0;
while(ptr != NULL) {
data[row][col] = atof(ptr);
col += 1;
ptr = strtok(NULL, ",");
}
row += 1;
}
fclose(fp);
// Do something with the data
return 0;
}
```
2. 将读取到的数据保存到二维数组中
```c
// Assume the data is stored in data.csv file in the following format:
// 1,2,3,4
// 5,6,7,8
// 9,10,11,12
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_ROWS 100
#define MAX_COLS 100
int main() {
FILE *fp;
char buffer[1024];
int row, col = 0;
double data[MAX_ROWS][MAX_COLS];
fp = fopen("data.csv", "r");
while(fgets(buffer, 1024, fp)) {
char *ptr = strtok(buffer, ",");
col = 0;
while(ptr != NULL) {
data[row][col] = atof(ptr);
col += 1;
ptr = strtok(NULL, ",");
}
row += 1;
}
fclose(fp);
// Do something with the data
return 0;
}
```
这样,我们就成功地将Excel文件中的数据读取到了二维数组中。
阅读全文