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

我的源码是:
#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

第1个回答  推荐于2018-04-13
strcpy_s是VC新版本的函数, 不是标准库函数, 把后面的_s去掉.追问

我就要用strcpy_s 怎么办?

追答

那你就用VC的新版本吧. strcpy_s只是把字符串从原来的\0结尾的字符串改成带长度的字符串. 你只要操作正确, 是安全的.

追问

如何在ubuntu下用vc的新版本呢

追答

不清楚VS能不能在linux下运行啊. 你就非死板着用这个函数? 它不是标准库函数!
你是为什么非要死板着去用安全函数? 你是不会改原码还是怎么?

本回答被网友采纳
第2个回答  推荐于2016-02-16
改成这个试一试:
strcpy(destination, source);
strcpy_s是VC中的,不是标准C里面的。追问

不要这样 就要那个带s的

追答

那你自己根据这个函数的原理,自己写一个自定义的。或者换Windows平台使用VS。

本回答被提问者采纳
第3个回答  2015-04-12
看看是否包含对应的头文件,或者你把strcpy_s改为strcpy试试
第4个回答  2015-04-12
源代码呢竟然消失了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网