| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2764 人关注过本帖
标题:strcpy_s在vs2013win运行问题。
只看楼主 加入收藏
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
结帖率:90.63%
收藏
已结贴  问题点数:16 回复次数:7 
strcpy_s在vs2013win运行问题。
#include<stdio.h>
#include<string.h>
#define WORDS "beast"
#define SIZE 40
int main()
{
    char *orig = WORDS;
    char copy[SIZE] = "Be the best that you can be.";
    char *ps;

    puts(orig);
    puts(copy);
    ps =  strcpy_s(copy+7, orig);
    puts(copy);
    puts(ps);
        return 0;
}

#include<stdio.h>
#include<string.h>
#define LIM 5
#define SIZE 40
int main()
{
    char qwords[LIM][SIZE];
    char temp[SIZE];
    int i = 0;
    printf("Enter %d words beginning with q:\n", LIM);
    while (i < LIM && gets_s(temp))
    {
        if (strncmp(temp,"q",1)!=0)
            printf("%s doesn't begin with q!\n", temp);
        else
        {
            strcpy_s(qwords[i], temp);//而这个strcpy_s则可以运行。
                i++;
        }
    }
    puts("Here are the words accepted : ");
    for (i = 0; i < LIM; i++)
    {
        puts(qwords[i]);
    }
        return 0;
}

求大虾指点。




















    return 0;
}
搜索更多相关主题的帖子: include return Enter beast 
2016-06-05 20:41
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
第一个的strcpy_s显示要三个参数,不知道怎么改。
2016-06-05 20:42
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
win8,打少了
2016-06-05 20:43
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:12 
strcpy_s是微软的安全复制函数,通过第二个参数指定长度达到安全复制的目的,一般第二个参数为第一个参数的长度。
比如:
char str1[15];
char str2="hello world";
strcpy_s(str1,15,str2);

未佩好剑,转身便已是江湖
2016-06-05 20:58
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
回复 4楼 alice_usnet
#include<stdio.h>
#include<string.h>
#define WORDS "beast"
#define SIZE 40
int main()
{
    char *orig = WORDS;
    char copy[SIZE] = "Be the best that you can be.";
    char *ps;

    puts(orig);
    puts(copy);
    ps =  strcpy_s(copy+7, SIZE,orig);//不可以编译
    puts(copy);
    puts(ps);
        return 0;
}
2016-06-05 21:52
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
什么错误?未声明吗?
#include<windows.h>

未佩好剑,转身便已是江湖
2016-06-05 22:17
_Strike
Rank: 2
等 级:论坛游民
帖 子:133
专家分:72
注 册:2016-3-22
收藏
得分:0 
回复 6楼 alice_usnet
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-06-05 22:28
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
ps =  strcpy_s(copy+7, SIZE,orig);//不可以编译

strcpy_s的返回值为errno_t,你把它赋值给char*当然会出错。
errno_t status =  strcpy_s(copy+7, SIZE,orig);//不可以编译

未佩好剑,转身便已是江湖
2016-06-05 23:05
快速回复:strcpy_s在vs2013win运行问题。
数据加载中...
 
   



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

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