每天学一点库函数6

库函数

字符串函数

本文使用的操作系统是Windows 7 64位处理器。
使用的软件是Microsoft visual studio 2015
在使用字符函数的时候,应该在源文件中添加以下命令
#include <string.h>

strcat

本函数的语法结构为:
char * strcat(char *str1 , char *str2);
其功能是将字符串str2接到str1之后,str1之后的‘\0’被取消掉。
返回指向str1的指针。
程序示例:

	char a[10] = "hallo" ;
	char b[10] = "wrold" ;
	strcat(a, b);
	cout << a << endl;

运行以上程序,运行结果如下:
strcat函数运行示意图
本版本的VS会认为本函数不安全,会输出一个错误(C4996)。从而得不到结果。解决方式是将代码
#pragma warning (disable:4996)
粘贴在程序开始,从而使程序正常运行。对于本函数的功能的更加安全的替代者是 strncat。它也包含在<string.h>文件中。

strncat

本函数的语法结构为:
char * strncat(char *str1 , char *str2,int n);
本函数的功能是把str2所指的字符串前n个字符连接在str1之后。当然,str1所指的字符串必须有足够的空间来容纳n个字符。
程序示例:

	char a[10] =  "hallo" ;
	char b[10] =  "wrold" ;
	strncat(a, b, 3);

strncat函数运行示意图
如图所示,程序将3个字符连接在str1之后。

strchr

本函数的语法结构为:
char * strchr(char *str1,char ch);
它的功能是找到字符串str1中第一次出现字符ch的位置,找到的话返回指向该字符的指针,否则的话返回空指针。
程序示例:

	char str1[20] = { "hallo" };
	char *out = NULL;
	out  = strchr(str1, 'a');
	if (NULL == out )
	{
		cout << "can't find !" << endl;
	}
	else
	{
		cout << out -str1 << endl;
	}

程序运行结果如下图所示。
在这里插入图片描述
如图所示,字符a是字符串str1的第2个字符,即str1[1]。

strcmp

本函数的语法结构为:
char * strcmp(char *str1,char *str2);
它的功能是比较字符串str1和str2。如果str1<str2,则输出-1。如果str1=str2,则输出0。如果str1>str2,则输出1。
在这里,依次顺序比较字符的ASCII码值。直至较短字符串结尾。
程序示例:

	char *str1 = "hallo ";
	char *str2 = "halle";
	char *str3 = "hall";
	cout << "strcmp(hallo, halle) "<<  strcmp(str1, str2) << endl;
	cout << "strcmp(hallo, hall)   " << strcmp(str1, str3) << endl;

strcmp程序运行示意图

Ω ~未完待续

猜你喜欢

转载自blog.csdn.net/ichliebecamb/article/details/85170572