c语言strcpy_s的返回值返回的是什么类型呢

c语言strcpy_s的返回值返回的是什么类型呢,第1张

strcpy_s函数不是标准函数,是微软的VS特有的,这个函数返回一个整数,0表示复制成功,返回非0值代表复制不成功,不同的值表示不同的错误,具体内容可以查阅MSDN手册

所以你的代码里p=strcpy_s(copy + 7, sizeof(copy) - 7, orig); 是不可行的

根据你的代码改了下:

#include<stdioh>

#include<stringh>

#define WORDS "beast"

#define size 40

int main(void)

{

const char orig = WORDS;

char copy[size] = "Be the best that you can be";

int n = sizeof(copy) - 7;

char p; //p应该是char

printf("%d\n", n);

puts(orig);

puts(copy);

strcpy_s(copy + 7, sizeof(copy) - 7, orig); //不返回指针

p = copy + 7; //p定位到copy+7

puts(copy);

puts(p);

return 0;

}

void sstrcpy(char s,char t)

{

while((s++)=(t++));

}

这样就可以, 在每次执行循环是自动就会将t指向的有效数据进行赋值s, 然后最后的时候就会有null赋给s造成循环不可继续执行, 从而跳出循环 也就完成了字符串的复制

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12188442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存