我正在从文件中读取数据,检索我有多少列和行(数据文件),到目前为止的一切。现在我正在尝试一个一个地读取这些值并将这些值存储到一个二维数组(双精度)中。我使用 getc 将值作为 char 获取,但是当我尝试使用 atoi 或 atof 将值从 char 转换为 double 时,我得到了奇怪的值。
double ther[j][number];
char c;
int tim=0,nther=0;
FILE *fp3 = fopen("data.txt", "r");
c = getc(fp3) ;
while (c!= EOF)
{
ther[tim][nther]=atoi(&c);
printf("%lf", ther[tim][nther]);
nther++;
c = getc(fp3);
if(nther==number)
{
tim++;
nther=0;
}
tim=0;
}
fclose(fp3);
有什么建议吗?…(我一直在寻找)。对不起,我有一个文件 data.txt,这个文件有一行一列数字:
1 2 3 4 5
6 7 8 9 10
所以我需要将数据存储到一个二维数组中:感谢答案,我有一些想法,比如:使用一个字符串,然后划分所有值并存储它们中的每一个。第一行是字符串-> 数组[0][0]、数组[0][1] 等。然后移动到另一行并执行相同操作。
到目前为止,我得到了一些数值,但它们都没有存储在 data.txt 中。