gpt4 book ai didi

c - 将文件中的值读取到不对应的数组中

转载 作者:行者123 更新时间:2023-11-30 17:21:20 25 4
gpt4 key购买 nike

我正在用c编写代码。我当前用于将文件中的值读取到数组中的方法是:

#include <stdio.h>
#include <float.h>

int main(int argc, const char * argv[])
{
int a,b;
double array[3][3];

FILE *file;
char *myfile=malloc(sizeof(char)*80);
sprintf(myfile,"example.txt");

if (fopen(myfile,"r")==NULL)
{
}

else
{
file=fopen(myfile,"r");
for (a=0;a<3;a++)
{
for (b=0;b<3;b++)
{
fscanf(file,"%lf",&array[a][b]);
}
}fclose(file);
}
}

如果我有一个包含值的文件

1 2 3
4 5 6
7 8 9

此代码将每次将每个值读入数组中。这适用于我的大部分目的。但是,我想编写新代码或修改它以仅读取某些值。例如,我只想将文件中的数字 3 6 9 读入 array[3][1],其中第一行是 3,第二行是 6,第三行是 9。我不知道该怎么做,而且到目前为止我还没有找到解决方案。

最佳答案

线路

fscanf(file,"%lf",&array[a][b])

这是导致未定义行为的原因,因为您尚未初始化文件

尝试更改线路:

   if (fopen(myfile,"r")==NULL)

   if ((file = fopen(myfile,"r")) ==NULL)

另外,请发布可编译的代码。您在几行中缺少 ;

关于c - 将文件中的值读取到不对应的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28327326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com