|
求助!!!我在学习字符串处理函数strcpy时,遇到一个问题。
char su1[3] = {'0'};
char su2[3] = { 'a' };
char* a = su1;
char* b = su2;
想要将字符串su2的内容复制到su1中,如果这样写
strcpy_s(su1, b);或者这样写
strcpy_s(su1, su2);都是没有问题的。
但是如果这样写
strcpy_s(a, b);就不行,会报错“函数不接受2个参数”
这个是什么原因?麻烦大神帮忙解答,谢谢!
本帖最后由 cpp2019 于 2021-6-23 16:23 编辑
- #include <iostream>
- int main()
- {
- char a[10] = {0};
- char b[10] = {"abcdefg"};
- strcpy_s(a, b);
- std::cout << "a: " << a << "\n";
- std::cout << "b: " << b << "\n";
- char a1[10] = { 0 };
- char b1[10] = { "abcdefg" };
- char *c = a1;
- char *d = b1;
- // 调用重载的strcpy_s函数,注意参数个数及参数类型
- strcpy_s(c, 10, d);
- std::cout << "c: " << c << "\n";
- std::cout << "d: " << d << "\n";
- std::cout << "a1: " << a1 << "\n";
- std::cout << "b1: " << b1 << "\n";
- return 0;
复制代码
|
上一篇: MFC添加事件处理程序后报错问题下一篇: 容器之数组
|