为什么我在ubuntu 14下写的C语言程序报“undefined reference to strcpy_s”

我的源码是:#define__STDC_WANT_LIB_EXT1__1#include<stdio.h>#include<string.h>intmain(void){... 我的源码是:
#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>
#include <string.h>

int main(void){
char source[]="Cao Ni Ma";
char destination[50];
strcpy_s(destination,sizeof(destination),source);
printf("%s",destination);
return 0;
}

我的编译+连接命令是gcc -o 文件名 文件名.c
ubuntu版本是14.10 gcc版本是4.8
报错:undefined reference to strcpy_s
展开
 我来答
文正153
推荐于2018-04-13 · TA获得超过2.1万个赞
知道大有可为答主
回答量:2221
采纳率:63%
帮助的人:644万
展开全部
strcpy_s是VC新版本的函数, 不是标准库函数, 把后面的_s去掉.
更多追问追答
追问
我就要用strcpy_s 怎么办?
追答
那你就用VC的新版本吧. strcpy_s只是把字符串从原来的\0结尾的字符串改成带长度的字符串. 你只要操作正确, 是安全的.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萢萢i3
推荐于2016-02-16 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4774万
展开全部
改成这个试一试:
strcpy(destination, source);
strcpy_s是VC中的,不是标准C里面的。
追问
不要这样 就要那个带s的
追答
那你自己根据这个函数的原理,自己写一个自定义的。或者换Windows平台使用VS。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-12
展开全部
看看是否包含对应的头文件,或者你把strcpy_s改为strcpy试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-12
展开全部
源代码呢竟然消失了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式