| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 593 人关注过本帖
标题:为什么?
只看楼主 加入收藏
教授小黑
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-12-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
为什么?
void recompose()/*修改用户信息*/
{
    FILE *fp1;
    int n,i;
    char name,sex,address;
    int age,phone;
    if((fp1=fopen("d:\\user.dat","rb+"))==NULL)
    {        
        printf("cannot open file");
        exit(1);
    }
    for(i=0;i<MAXUSER;i++){
        fread(&record[i],sizeof(struct news),1,fp1);
        printf("%s%s%d%d%s\v",record[i].name,record[i].sex,record[i].age,record[i].phone,record[i].address);
    }
    scanf("%d",&n);
    printf("修改第%d条信息",n);
    fseek(fp1,(n-1)*sizeof(struct news),0); /* 定位文件指针指向第n条记录*/
    printf("输入修改的姓名:");
    scanf("%s",name);
    printf("输入修改的性别:");
    scanf("%s",sex);
    printf("输入修改的年龄:");
    scanf("%d",&age);
    printf("输入修改的电话:");
    scanf("%d",&phone);
    printf("输入修改的地址:");
    scanf("%s",address);
    record[n-1].name=name;
    record[n-1].sex=sex;
    record[n-1].age=age;
    record[n-1].phone=phone;
    record[n-1].address=address;
    fprintf("%s %s %d %d %s \v",record[n-1].name,record[n-1].sex,record[n-1].age,record[n-1].phone,record[n-1].address);
    rewind(fp1);
        fclose(fp1);
}
关于信息修改,我将文件指针移动到修改的地方,用输入的其他信息替换,之后重新输入,为什么不对?
D:\桌面文件\桌面\Debug\CANTING.CPP(421) : error C2664: 'fprintf' : cannot convert parameter 1 from 'char [17]' to 'struct _iobuf *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
提示信息是这样的
搜索更多相关主题的帖子: address cannot record file 信息 
2015-04-26 13:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
cannot convert parameter 1 from 'char [17]' to 'struct _iobuf *'

DO IT YOURSELF !
2015-04-26 13:12
教授小黑
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-12-16
收藏
得分:0 
回复 2楼 wp231957
为啥呢?
2015-04-26 13:25
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
不能从宽度为17的字符数组 转换到 指向 _iobuf的结构体指针

至于你为什么这么用 没看到你的结构体定义  也无法解释

DO IT YOURSELF !
2015-04-26 13:28
教授小黑
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-12-16
收藏
得分:0 
回复 4楼 wp231957
struct news{
    char name;
    char sex;
    int age;
    int num;
    int phone;
    char address;
}record[MAXUSER]; /*定义服务员结构体*/
我是这样定义的,MAXUSER=10;
2015-04-26 13:32
z18271264972
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2015-3-29
收藏
得分:5 
才学C语言,看的我都醉了
2015-04-26 17:05
快速回复:为什么?
数据加载中...
 
   



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

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