a1070838653 2017-07-19 03:39 采纳率: 33.3%
浏览 830

C语言新手,求大神帮忙

#define STDC_WANT_LIB_EXT1 1
#include
#include

int main() {
char a[40];
gets(a);

printf("%zu",strnlen(a,sizeof(a)));
char b[40];
gets(b);

strcpy_s(a,sizeof(a),b);

}

看书上的代码,define 那个之后 后面的函数 像 strcpy_s strtok_s 等函数都可以用了 但是我这边还是报错
错误是这个/Users/mac/Documents/txt/txt/main.c:28:12: Implicit declaration of function 'strcat_s' is invalid in C99
编译器是mac上 xcode

  • 写回答

1条回答 默认 最新

  • shifenglv 2017-07-19 04:00
    关注

    strcpy_s函数是新版本的编译器才支持的函数。像VC6.0是不支持的,VS就支持。你改用旧版本的函数(就是没有加“-s”这种函数)。把define那一行去掉,把strcat_s,strcpy_s,strtok_s等函数去掉“-s”,改用旧版本的strcat,strcpy,strok。新版本的函数与旧版本的函数在功能是完全一样的,只是参数传递方面有点不一样,具体你可以查一下这些函数怎么用。

    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入