| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2027 人关注过本帖
标题:新手菜鸟求问fscanf读取文件数据存入数组问题
只看楼主 加入收藏
alix4996
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
新手菜鸟求问fscanf读取文件数据存入数组问题
生成数组s[3][3]存放到z.txt里,然后从中读取出来存放到t[3][3],但不知道是不是指针哪里出了问题,读取结果总是溢出了
图片附件: 游客没有浏览图片的权限,请 登录注册

#pragma warning(disable:4996)
#include<stdio.h>
#include<math.h>

int main() {
    FILE* z;
    z = fopen("zg.txt", "wt+" );
    float s[3][3];

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            s[i][j] = (float)i + j;
            fprintf(z, "%f ", s[i][j]);
        }
        fprintf(z, "\n");
    }


    float t[3][3];

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                fscanf(z, "%f", &t[i][j]);
            }
            fscanf(z, "\n");
        }



    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%f ", t[i][j]);
        }
            printf("\n");
    }

    system("pause");
    return 0;
}
搜索更多相关主题的帖子: fscanf int 数组 读取 for 
2020-06-05 12:41
alix4996
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-5
收藏
得分:0 
在CSDN上搜了半天,可能是因为野指针,但水平过差没太看懂,只能判断是指针在取地址时出错,救救孩子吧!
2020-06-05 12:48
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
关闭文件,重新打开,或者用rewind等函数
2020-06-05 12:58
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:10 
文件不能随意说读就读说写就写。
写完了需要rewind(z);
或者fseek(z,0,SEEK_SET);
这样调整一下然后才能从头开始读。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-06-05 13:01
alix4996
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-5
收藏
得分:0 
谢谢前辈们!我试了下可以了!原来是因为没有关闭文件读取的时候指针从文件末尾读的是吗!太感谢了

[此贴子已经被作者于2020-6-5 13:27编辑过]

2020-06-05 13:14
快速回复:新手菜鸟求问fscanf读取文件数据存入数组问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021724 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved