关于高版本Visual Studio不能使用原来的字符串函数的解决方法

关于高版本Visual Studio不能使用原来的字符串函数的解决方法

使用基础字符串函数

方法1:
在预处理部分添加==#pragma warning(disable:4996)==
方法2:
打开程序的菜单栏里的“项目“”功能—点开程序的属性—配置属性—c/c+±—将SDL检查关掉。
在这里插入图片描述在这里插入图片描述

方法3:
打开程序的菜单栏里的“项目“”功能—点开程序的属性—配置属性—预处理器----将预处理器定义为_CRT_SECURE_NO_WARNINGS
在这里插入图片描述

字符串连接函数

字符串连接函数strcat或strcat_s
stract
格式:stract(字符数组名1,字符数组名2);
strcat_s(新版本的,更安全)
格式:strcat_s(字符数组名1,合并字符串后的字符数量+1,字符数组名2);
功能:与strcat的功能完全一致。但strca t_s的函数返回值是一个整型数据,代表错误号码,为0表示没有错误,为1表示出现错误等。第二个参数是合并字符串后的字符数量:源串大小+ 目标串大小+ 字符串结束符大小(‘\0’)

字符串复制函数strcpy或strcpy_s

strcpy
格式:strcpy(字符数组名1,字符数组名2);
功能:把字符数组2中的字符串连‘\0’全部复制到字符数组1 中。
在程序中将数组str2的内容赋值给str1,不能使用str1=str2,只能使用strcpy(str1,str2)
函数strcpy()的第二个参数也可以是一个常量字符串,eg:strcpy(ss,“students”)

strcpy_s
格式:strcpy_s(字符数组名1,目标缓冲区的大小,字符数组名2);
功能:与strcpy的功能完全一致。同样,strcpy_s的函数返回值是一个整型数据,代表错误号码,为0表示没有错误,为1表示出现错误。(要保证该字符串的长度大于复制后的字符串长度)

判断两个字符串相等,不能使用str1==str2,应该这样if(strcmp(str1,str2)==0){}

字符串比较函数strcmp

格式:strcmp(字符数组名1,字符数组名2);
功能:该函数用来比较strl和str2中字符串的内容。函数对两个字符串中的ASCII字符逐个两两比较,直到遇到不同字符或’\0’为止。函数返回值是两字符串对应的第一个不同的ASCII码的差值。如果两个字符串中的字符均相同,则认为两个字符串相等,函数返回值为0;若返回一个正整数,则表示字符串1 大于字符串2;若返回一个负整数,则表示字符串1小于字符串2。

字符串长度函数strlen

格式:strlen(字符数组名);
功能:计算字符串的有效长度,其返回值为数组首字符到第一个字符串结束标志‘\0‘’’的长度,而并非数组在内存中存储空间的大小。

字符串查找函数strstr

char *strstr(char *,char *);
功能:在第一个参数(母串)中查找第二个参数(子串);
若子串在母串中出现,则返回子串在母串中首次出现的起始位置(地址),否则返回NULL;
示例图



猜你喜欢

转载自blog.csdn.net/qq_47949604/article/details/110232818
今日推荐