Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 非常基本,尝试读取带有数字的文本文件并将其存储在数组中_C_Arrays_Readfile - Fatal编程技术网

C 非常基本,尝试读取带有数字的文本文件并将其存储在数组中

C 非常基本,尝试读取带有数字的文本文件并将其存储在数组中,c,arrays,readfile,C,Arrays,Readfile,当我运行这个程序时,我得到的数字是完全荒谬的,比如-39389014,而文本文件中的数字是20。以下是我的文本文件的外观: 20 20 40 30 80 40 90 20 60 10 18.0 以及守则: #include <stdio.h> #define SIZE 5 int main(void){ FILE *in = fopen("pfile1.txt", "r"); int x[5], y[5], i; double h; for (i

当我运行这个程序时,我得到的数字是完全荒谬的,比如-39389014,而文本文件中的数字是20。以下是我的文本文件的外观:

20 20
40 30
80 40
90 20
60 10
18.0
以及守则:

#include <stdio.h>
#define SIZE 5

int main(void){
    FILE *in = fopen("pfile1.txt", "r");
    int x[5], y[5], i;
    double h;

    for (i=0;i<SIZE;++i){
        fscanf(in, "%d %d", &x[i], &y[i]);
    }

    for (i=0;i<SIZE;++i){
        printf("%4d %10d\n", x[i], y[i]);
    }


    fscanf(in, "%lf", &h);
    printf("%lf\n", h);
    fclose(in);

    return(0);
}
#包括
#定义尺寸5
内部主(空){
文件*in=fopen(“pfile1.txt”,“r”);
int x[5],y[5],i;
双h;
对于(i=0;i确保“pfile1.txt”文件放在项目设置旁边。
若要确定文件的位置,请将“打开”权限更改为“w+”。此选项将尝试打开该文件,如果找不到该文件,则会创建该文件。请将该文件替换为您的文件。
一切都会顺利进行:)

只需在飞行中提示: 不要对任何指针进行任何操作,除非确保它不为NULL。 因此,请在代码周围使用

if( NULL != in)
{

    for (i=0;i<SIZE;++i){
        fscanf(in, "%d %d", &x[i], &y[i]);
    }

    for (i=0;i<SIZE;++i){
        printf("%4d %10d\n", x[i], y[i]);
    }


    fscanf(in, "%lf", &h);
    printf("%lf\n", h);
    fclose(in);
}
if(NULL!=in)
{

对于(i=0;i您使用的是IDE吗?可能是您没有给它文件的路径。类似于。函数从
fopen
fscanf
返回值是什么?除此之外:
int x[5],y[5]
-->
int x[SIZE],y[SIZE]
-2 6356704 1961194346 1945845610 1961194589 6356940 4199232 1961218544 6356792 1945843218按Enter键返回昆西…无即时消息未使用IDEIve将文件放在与我的项目相同的文件夹中,并将fopen的权限更改为“w+”但它仍然不起作用。如果您不确定将文件放在哪里,我的意思是。删除所有相关文件,然后使用“w+”。它将创建一个文件。然后用您的文件替换该文件,然后重试,但不要忘了在之前再次将权限返回到“r”,以避免清理您的数据。哦,我明白,让我试试