VS2019中字符串函数的使用


前言

从开始学C到现在,一直觉得字符串的处理是最难的,尤其是记不住string.h这个头文件里字符串的处理函数,而且我用的又是VS2019,有些字符串处理函数还和平时用法不一样,所以就在这里总结了下在VS2019中字符串函数的用法。


strlen

size_t strlen( const char* str)

功能:计算字符串长度
返回值:字符串的长度,类型为size_t,说明符为%zu

·size_t,可以理解为无符号长整形,即%lu

strcpy_s

char* strcpy_s(char * dest, size_t _SizeInBytes, const char* src)

功能:将参数src字符串拷贝到dest所指的位置
返回值:返回参数dest的字符串起始地址

  • 第二个形参是为了防止字符串过长超出缓存区内存引发问题而要求的。它的大小一般为str所占字节长度,即sizeof ( src )
strncpy_s

char* strncpy_s(char* dest, size_t _SizeInBytes, const char* src, size_t num)

功能:拷贝src字符串的前num个字符到dest
返回值:返回dest字符串的起始地址

  • 第二个形参一般为num+1
strcat_s

char* strcat_s(char* dest, size_t _SizeInBytes, const char* src)

功能:字符串连接
返回值:返回dest字符串的起始地址

  • 第二个形参一般为sizeof( dest ) + sizeof( src ) - 1
strncat_s

char* strncat_s(char* dest, size_t _SizeInBytes, const char* src, size_t num)

功能:将src字符串的前num个字符连接到dest上
返回值:返回dest字符串的起始地址

  • 第二个参数一般为sizeof( dest )+num
strcmp

int strcmp (const char* str1,const char* str2)

功能:字符串比较
返回值:若参数相同返回0,str1大于str2返回大于0的值,小于返回小于0的值

  • 判断两个字符串的ASCII值
  • 区分大小写比较,若不希望区大小写则使用stricmp
strncmp

int strcmp (const char* str1,const char* str2,size_t num)

功能:指定长度比较
返回值:与strcmp相同

strtok_s

char* strtok_s(char *_String, const char *_Delimiter, char **_Context)

功能:根据分隔符将字符串分割成一个个片段
返回值:返回分割后的第一个字符串指针,如果无法分割则返回NULL

#include <stdio.h>
#include <string.h>
int main()
{
	char s[] = "He,llo";
	char* p1=NULL;
	char* p2=NULL;
	p1 = strtok_s(s, ",", &p2);
	printf("%s\n%s",p1,p2);
	return 0;
}
输出:
He
llo
atoi

int atoi (const char* str)

功能:将字符串转换为整型
返回值:返回转换后的整型数。如果不能转换则返回0

  • 所在stdlib.h头文件中

总结

这里只是写了一些常用的和在VS2019中不一样的字符串处理函数,还有一些字符串函数的使用,请阅读(C语言)常见字符函数和字符串函数),除部分函数外,用法都与VS一致。

如有错误,希望大佬们即时纠正,谢谢!

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值