字符串相关的函数知识整理

头文件include<string.h>

目录

头文件include

1.puts字符串输出函数

2.gets字符串输入函数

3.strcat(字符串连接函数)

4.strcpy,strncpy(字符串复制函数)

5.strcmp(字符串比较)

6.strlen(字符串实际长度,不包括'\0')

7.strlwr(大写转为小写)

8.strupr(小写转化为大写)

9.strstr(子串判断)


1.puts字符串输出函数

一般形式:puts(字符数组)

作用:输出一个字符串(以‘\0’结束的字符序列)

知识补充:’\0’是判定字符数组结束的标志,在字符数组中’\0’占一个位置

#include<iostream>
using namespace std;
int main()
{
    char s[6]="hello"; //'\0'占一个位置
    int i=0;
    while(s[i]!='\0')   //'\0'是字符串结束的标志
    {
        cout<<s[i];
        i++;
    }
}

2.gets字符串输入函数

一般形式:gets(字符数组)

作用:从终端输入一个字符串到字符数组函数。

#include <stdio.h>
int main()
{
	char s[100];
	gets(s);
	puts(s);
	return 0;
}

3.strcat(字符串连接函数)

   char *strcat(字符数组1,字符数组2)

作用:把两个字符数组中的字符串连接(字符串1在前,字符串2在后)。结果放在字符数组1中。

4.strcpy,strncpy(字符串复制函数)

strcpy(字符数组1,字符串2)

作用:将字符串2复制到字符数组1中。

strncpy(字符数组1,字符串2,n(字符个数))

作用:将字符串2中前n个字符复制到字符数组1中。
 

#include <stdio.h>
#include <string.h>
int main()
{
	char s1[100]="Hello World";
	char s2[100];
	strcpy(s2,s1);
	cout<<s2<<endl;     //hello world
	memset(s2,'\0',sizeof(s2)); // 重置s2
	strncpy(s2,s1,5);
	cout<<s2<<endl;     //hello
	return 0;
}

5.strcmp(字符串比较)

strcmp(字符串1,字符串2)

作用:比较字符串1和字符串2。

规则:将两个字符串中的字符从左至右逐个相比(按ASCII码大小相比),直到出现不同的字符或遇到'\0'为止。

比较结果由函数值带回:

(1)字符串1=字符串2,函数值为0

 (2)字符串1>字符串2,函数值为一个正整数
(3)字符串1<字符串2,函数值为一个负整数

6.strlen(字符串实际长度,不包括'\0')

7.strlwr(大写转为小写)

char *strlwr(char *str);

char str[] = “HTTP://see.xidian.edu.cn/cpp/u/shipin/”;
printf("%s\n", strlwr(str));  //输出http://see.xidian.edu.cn/cpp/u/shipin/
printf("%s\n", str);          //输出http://see.xidian.edu.cn/cpp/u/shipin/

8.strupr(小写转化为大写)

      strupr(字符串)

9.strstr(子串判断)

1.char *strstr(char *str1, char *str2)

判断str2是否为str1的字串,若是则返回str2在str1中首次出现的指针位置,若不是返回NULL;

char *str1 = "When you see people sing?";
    char *str2 = "people";
    char *pl;
    pl=strstr(str1,str2);
    printf("Substring is %s\n",pl);  //输出:Substring is people sing?

2.strchr(str,ch)

函数原型:char * strchr(char * str,char ch);

功能:找字符串str中第一次出项字符ch的位置,找到返回该字符在字符串中的地址的位置,找不到就返回null。

猜你喜欢

转载自blog.csdn.net/qq_53682472/article/details/122202796