| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8593 人关注过本帖
标题:【scanf_s 使用】
取消只看楼主 加入收藏
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:10 
【scanf_s 使用】
这个问题困扰我好几天。。

定义了一个结构体。。

#pragma pack(1)
typedef struct birth{
    int year;
    int month;
    int day;
};


typedef struct worker{
    int id;
    char name[100];
    int age;
    struct birth birthday;
};
#pragma pack()


struct worker id[99];

这个是执行代码。。

char addcc[3];
    char *paddc=addcc;
    int addc;
    addc=0;
    paddc="-1";
addgets:

    fflush(stdin);
    addc=scanf_s("%d,%s,%d,%d/%d/%d",&id[idno].id,1,&id[idno].name,10,&id[idno].age,&id[idno].birthday.year,&id[idno].birthday.month,&id[idno].birthday.day);
    printf("addc=%d",addc);
    if(addc!=6){
        if(addc==1)
        {
            if(id[idno].id==-1){
                backmenu(addcc);
            }else{
                printf("请按照正确的格式输入,或者输入-1返回上一目录\n");
            }
        }else{
            printf("请按照正确的格式输入,或者输入-1返回上一目录\n");
        }
    }else{
    printf("%d,%s,%d,%d/%d/%d",id[idno].id,id[idno].name,id[idno].age,id[idno].birthday.year,id[idno].birthday.month,id[idno].birthday.day);
    }


scanf_s总是溢出。。
怎么回事。



搜索更多相关主题的帖子: 结构体 
2014-08-04 09:21
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
全部都要加&?   还有scanf_s这个函数。。参数里的数字这个是怎么用的,应该怎么确定应该填多少呢。。

2014-08-04 12:02
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
你写的这句和我写的有什么区别么。。

2014-08-04 12:04
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
回复 4 楼 zuifei07
就等着别人给你改好了是吧,难怪上个帖子不给分呢,不回答了


。。。
那个帖子没有给分。。

2014-08-05 00:18
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
要不就是结贴。。记得有个还把全部分都给了你。。
发我没有给分的那个帖子。。

2014-08-05 00:19
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
要不就是结贴。。记得有个还把全部分都给了你。。
发我没有给分的那个帖子。。


2014-08-05 00:20
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
代码是我写的。。
因为不会用scanf_S所以才上来文。。

参照百度的例子。。大概说是那个数字是数组的下标。。
但是。。那个数字应该怎么用。或者用在那个地方。。
在msdn上也没有搞懂。。
所以才来论坛问。。

2014-08-05 00:21
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
找到了。。。
是这个帖子。。
https://bbs.bccn.net/thread-434659-1-1.html

唉。。怪不得你那么生气。。原来把分给了别人了。。还以为那个人是你。

把分给他的原因。。。因为我换成strcpy之后。。就通过了(实际早就解决了。。群里说的。。)
2014-08-05 00:38
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
以下是引用zuifei07在2014-8-4 09:21:56的发言:

这个问题困扰我好几天。。

定义了一个结构体。。

#pragma pack(1)
typedef struct birth{
    int year;
    int month;
    int day;
};


typedef struct worker{
    int id;
    char name[100];
    int age;
    struct birth birthday;
};
#pragma pack()


struct worker id[99];

这个是执行代码。。

char addcc[3];
    char *paddc=addcc;
    int addc;
    addc=0;
    paddc="-1";
addgets:

    fflush(stdin);
    addc=scanf_s("%d,%s,%d,%d/%d/%d",&id.id,1,&id.name,10,&id.age,&id.birthday.year,&id.birthday.month,&id.birthday.day);
    printf("addc=%d",addc);
    if(addc!=6){
        if(addc==1)
        {
            if(id.id==-1){
                backmenu(addcc);
            }else{
                printf("请按照正确的格式输入,或者输入-1返回上一目录\n");
            }
        }else{
            printf("请按照正确的格式输入,或者输入-1返回上一目录\n");
        }
    }else{
    printf("%d,%s,%d,%d/%d/%d",id.id,id.name,id.age,id.birthday.year,id.birthday.month,id.birthday.day);
    }


scanf_s总是溢出。。
怎么回事。

知道这句有问题。。要不然怎么会说scanf_s总是溢出了。。还有。。你完全忽略了我文那个函数怎么用了吧。。直接就说我等别人写好给我。。无语了
2014-08-05 00:40
zuifei07
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2014-2-5
收藏
得分:0 
以下是引用ditg在2014-8-5 00:59:03的发言:

这种长期滴经常滴一贯滴不散分和散错分滴行为都是令人难以接受滴无法容忍滴后果极其严重滴……
嗯嗯~~多谢多谢~~
多谢知道。。
以后帖子提高分数。。。。散分~
2014-08-05 09:32
快速回复:【scanf_s 使用】
数据加载中...
 
   



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

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