c风格字符串的标准库函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c风格字符串的标准库函数相关的知识,希望对你有一定的参考价值。

c风格字符串的标准库函数

头文件是<string>

strlen( s )          返回s的长度,不包含字符串结束符null

strcmp( s1, s2 )       比较两个字符串s1和s2是否相同。若s1与s2相等,则返回0;若s1大于s2,返回正数。若s1小于s2,则返回负数

strcat( s1, s2 )         将字符串s1连接到s2后面,并返回s1

strcpy( s1, s2 )        将字符串s2复制给s1,并返回s1

strncat( s1, s2, n )       将字符串s2的前n个字符串连接到s1后面,并返回s1

strncpy( s1, s2, n )      将s2的前4个字符串复制到s1,并返回s1

 

例:

char str_1[20] = "123456789";
char *str_2 = "abcdefgh";

cout << "strlen( str_1 )===================" << strlen( str_1 ) << endl;            
char str_1_1[20] = "123456789";
cout << "strcmp( str_1, str_2 )============" << strcmp( str_1_1, str_2 ) << endl;    
char str_1_2[20] = "123456789";
cout << "strcat( str_1, str_2 )============" << strcat( str_1_2, str_2 ) << endl;    
char str_1_3[20] = "123456789";
cout << "strcpy( str_1, str_2 )============" << strcpy( str_1_3, str_2 ) << endl;    
char str_1_4[20] = "123456789";
cout << "strncat( str_1, str_2, 4 )========" << strncat( str_1_4, str_2, 5 ) << endl;
char str_1_5[20] = "123456789";
cout << "strncpy( str_1, str_2, 4 )========" << strncpy( str_1_5, str_2, 5 ) << endl;

运行结果

技术分享

 

批注:今天在vs上运行的时候出了这样的问题

报错内容:This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

解决办法:右键点击工程-------》选择“属性” 。如图:

技术分享

点击“预处理器定义”后面的框,选择“编辑”。在里面输入“_CRT_SECURE_NO_WARNINGS”。如图:

技术分享

点击一系列确定后。关闭vs再打开就可以编译运行了。

 

以上是关于c风格字符串的标准库函数的主要内容,如果未能解决你的问题,请参考以下文章

改一下OI代码风格

C风格字符串

手撕C语言标准库qsort(自我实现简化高效版C风格泛型快排)

python代码风格指南:pep8 中文翻译

删除 C 风格字符串中间的 '*'(不用库函数)

C++--标准库 字符串类