strcpy_s和strcpy()函数
来源:互联网 发布:济南赛博网络进校 编辑:程序博客网 时间:2024/06/11 12:36
strcpy_s和strcpy()函数的功能几乎是一样的。strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。
这个函数用两个参数、三个参数都可以,只要可以保证缓冲区大小。
三个参数时:
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
两个参数时:
errno_t strcpy_s(
char (&strDestination)[size],
const char *strSource
); // C++ only
例子:
输出为:
strlen(str1): 11 //另外要注意:strlen(str1)是计算字符串的长度,不包括字符串末尾的“\0”!!!
strlen(str): 5
hello world
hello
这个函数用两个参数、三个参数都可以,只要可以保证缓冲区大小。
三个参数时:
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
两个参数时:
errno_t strcpy_s(
char (&strDestination)[size],
const char *strSource
); // C++ only
例子:
#include<iostream>
#include<cstring>
using namespace std;
void Test(void)
{
char *str1=NULL;
str1=new char[20];
char str[7];
strcpy_s(str1,20,"hello world");//三个参数
strcpy_s(str,"hello");//两个参数但如果:char *str=new char[7];会出错:提示不支持两个参数
cout<<"strlen(str1):"<<strlen(str1)<<endl<<"strlen(str):"<<strlen(str)<<endl;
printf(str1);
printf("\n");
cout<<str<<endl;
}
int main()
{
Test();
return 0;
}
输出为:
strlen(str1): 11 //另外要注意:strlen(str1)是计算字符串的长度,不包括字符串末尾的“\0”!!!
strlen(str): 5
hello world
hello
0 0
- strcpy_s和strcpy()函数
- 再论strcpy和strcpy_s
- strcpy_s和strcpy()
- strcpy和strcpy_s
- C++中函数strcpy和strcpy_s(VS pro 2015)
- strcpy和strcpy_s和strncpy
- strncpy,strncpy_s和strcpy,strcpy_s
- strcpy strcpy_s
- [C++]strcpy和strcpy_s itoa和_itoa_s
- 在C++里面关于strcpy()函数和strcpy_s()函数的问题
- [C++]strcpy和strcpy_s安全性比较
- fopen函数、fopen_s函数、fclose函数、fscanf函数、memset函数、strcpy函数、strcpy_s函数、strcat函数和fprintf函数用法?
- scanf和scanf_s、strcpy和strcpy_s、strncpy、gets
- strcpy strcpy_s strncpy
- strcpy/strncpy/strcpy_s比较
- strcpy/strncpy/strcpy_s比较
- strcpy/strncpy/strcpy_s比较
- strcpy_s与strcpy
- Mysql 会导致锁表的语法
- jquery使用方法
- UIView 页面跳转动画
- error C4996: 'sprintf': This function or variable may be unsafe.Consider using sprintf_s instead.
- 利用NSCache提升效率
- strcpy_s和strcpy()函数
- 信息学奥林匹克竞赛-计数问题
- 15-11-18 注释
- 重复引用错误:duplicate symbols for architecture x86_64
- java zip压缩解压 工具类
- [Android] 解决addJavascriptInterface混淆的bug
- JavaScript基础——客户端检测
- 特征选择之信息增益法
- 坚持到底—兄弟连IT教育