追着宋江跑
2021-09-26 16:35
采纳率: 100%
浏览 67

c语言读取TXT文件数据到结构体数组,结果均为0

自定义函数read的目的是读取TXT文本文件中的结构化数据,数据截图如下:

img

因此定义对应的结构体,代码如下:

struct point
{
    int fid;
    int orig_fid;
    double x;
    double y;
};

声明结构体数组:

struct point pt[9];

自定义函数read的代码如下:

int read()
{
    int num[99];
    char filename[10];
    errno_t err;
    printf("请输入文件名:\n");
    scanf_s("%s", filename, 10);
    FILE *fp;
    if ((err = fopen_s(&fp, filename, "wt+")) != 0)    
    {
        printf("无法打开此文件\n");            //如果打不开,就输出打不开
        exit(0);                               //终止程序
    }
    else
    {
        for (int i = 0; i < 9; i++)
        {
            fscanf_s(fp, "%d;%d;%lf;%lf\n", &pt[i].fid, &pt[i].orig_fid, &pt[i].x, &pt[i].y);
            printf("%d,%d,%lf,%lf\n", pt[i].fid, pt[i].orig_fid, pt[i].x, pt[i].y);
        }
    }
    fclose(fp);
    //char fgets(point *buf,int size,FILE *fp);
    return 0;
}

调用自定义函数的主函数如下:

int main()
{
    //int D;
    read();
    return 0;
}

程序运行结果如下:

img


我的问题是,为什么不能显示原本数据文件中的数据?
(注:程序运行软件为vs2019)

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

5条回答 默认 最新

  • CSDN专家-link 2021-09-26 16:39
    最佳回答

    if ((err = fopen_s(&fp, filename, "wt+")) != 0)
    打开方式改为"r"试试。

    评论
    解决 无用
    打赏 举报
查看更多回答(4条)

相关推荐 更多相似问题