标题:关于使用sprintf_s()函数的困惑
只看楼主
啊蒋
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-2-26
结帖率:70%
已结贴  问题点数:20 回复次数:1 
关于使用sprintf_s()函数的困惑
char* stra = (char*)calloc(20, sizeof(char));
    if (stra == NULL)
    {
        printf("分配内存失败\n");
        Sleep(1000);
        exit(1);
    }
    //char stra[20] = { 0 };
    sprintf_s(stra,20,"abd");          //如果这里换成sprintf()函数情况又不一样
    Str string = { stra, 3, 20 };      //在内存中观测的时候只要执行了sprintf_s()函数之后,字符串abd\0h,后面的字符就不是‘\0'呢,
                                       //如果使用了sprintf()函数就不会出现这个情况“abd”后面的字符全部是‘\0’;
                                       //我想是说的是,这是不是他们两个的不同,
搜索更多相关主题的帖子: 函数 困惑 char sprintf 字符 
2017-06-27 22:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
release模式下试试
2017-06-28 08:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-478993-1-1.html




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

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