| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1302 人关注过本帖
标题:关于文件操作
取消只看楼主 加入收藏
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:1 
关于文件操作
void saving()
{
    Use p;
    FILE *fp;
    fp = fopen("D:\\新建文件夹file.txt", "rb");
    fseek(fp,0L,SEEK_SET);
    fread(&p, sizeof(Use), 1, fp);
    printf("\n %s %s %s %lf", p.number, p.name, p.password, p.cash);
    fclose(fp);

}这是一个子函数,我想读一个结构体 Use  p
把文件中的内容 给 结构体 p ,但是输出后是其他的数据,乱码。为什么呢?
补充:我使用二进制写进文件的。运行结果
图片附件: 游客没有浏览图片的权限,请 登录注册

第一行是我在创建文件的子函数中以查询子函数同样的代码查询的。
在创建的子函数中可以查询。
但在另一个子函数中调用文件查询就不行了。出现第二行的乱码;
是我用动态申请内存造成的吗?
附加创建文件的函数:
void oaccount()//开户
{
    //int  last;
    Use * p;
    FILE *fp;
    p = (Use *) malloc(sizeof(Use));
    fp = fopen("D:\\新建文件夹\\file.txt", "ab");
    printf("请输入账号:");
    scanf("%s", p->number);
    printf("请输入姓名:");
    scanf("%s", p->name);
    printf("请输入密码:");
    scanf("%s", p->password);
    p->cash=0;
    //printf("请输入账号:");
    //scanf("%hd", &p->mark);
    //free(p);
    fwrite(p, sizeof(Use), 1, fp);
    fclose(fp);
    //memset(p,0,sizeof(Use));
    fp = fopen("D:\\新建文件夹\\file.txt", "rb");
    //fseek(fp,0L,SEEK_END);
    //last=ftell(fp);
    //printf("%d,%d ",last,sizeof(Use));
    fread(p, sizeof(Use), 1, fp);
    printf("\n %s %s %s %lf", p->number, p->name, p->password, p->cash);
    fclose(fp);
    free(p);
}

[此贴子已经被作者于2017-3-10 10:48编辑过]

搜索更多相关主题的帖子: 新建文件夹 saving 二进制 结构体 
2017-03-09 22:57
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
收藏
得分:0 
回复 3楼 qdcs
嗯,试了没关系的

育帝
2017-03-10 10:50
快速回复:关于文件操作
数据加载中...
 
   



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

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