c++学习(7)--字符串

2021/12/13 22:49:53

本文主要是介绍c++学习(7)--字符串,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

1,字符串赋值

2,字符串空间的区别

3,字符串计算长度

4.复制----- strcpy、strcpy_s、strncpy、strncpy_s

 5,拼接----strcat、strcat_s、strncat、strncat_s

6,字符串比较---strcmp

7,字符串查找---strstr

8,键盘输入字符串----getchar

9,键盘输入--conio.h中的getch()或getche()

10,键盘输入字符串---gets、gets_s


1,字符串赋值

char zifu[]={'a','b','c'};
char zifu1[]={'abc'}----------俩种同样的方法,这种方法简单
printf("%s\n",zifu);-------%s表示字符串,这种方式打印出来,会发新有很多乱码的情况
-----------------
char zifu[]={'a','b','c','\0'};------在最后面设置一个\0,用来结束对字符的搜索
-----------------

2,字符串空间的区别

char str1[]="hello";
char str2[]="hello";--------这个hello储存的位置是堆栈区,每次的位置也是不一样的
char *p1="hello";
char *p2="hello";------------p1,p2是指针,他指向一个空间,在这里面这个hello表示的是常量,在常常数区,p1,p2指向的也就是用一个存有hello的地址

3,字符串计算长度

char str1[] ="Hello"; char *p1="Hello"; printf("%d\n", strlen(str1));--------strlen()计算字符串长度 printf("%d\n", strlen(p1) )

4.复制----- strcpystrcpy_sstrncpystrncpy_s

char *p='123456';
char a[20];
strcpy(a,p);--------------将p指向的空间字符串复制到a的空间中
strcpy(a,'hello');------------------将hello复制到a中
strcpy_s(a,20,p);----------将p指向的内容复制到a中,并且a的存储范围是20
p指向的内容不能超过a的设置范围
-----------------------
char b[20]={'0'};
strncpy(a,'hello world',8);-------将hello world 中前八个字节复制到a中
strncpy_s(a,10,'hello world',8);10----设置a的存储空间为10,8为取前八个字节

 5,拼接----strcatstrcat_sstrncatstrncat_s

char a[20]={'hello'};
char *p={'hi'};
strcat(a,p);------将hi拼接到hello后面----hello hi
strcat_s(a,20,p)------对20进行空间设置,保障安全
strncat(a,p,1);//只把p指向字符串的 1 个长度的字符串连接到a数组-----hello h
strncat_s(a,15,p,1);// 实参15 即保证 a 具有的保障性的空间大小

6,字符串比较---strcmp

功能:字符串比较函数,返回 1 代表 大于关系 ; 返回 0 代表等于关系;返回 -1 代表小于关系。 char a[2]={'a'}; char b[2]={'b'}; srccmp(a,b)------对a,b进行比较

7,字符串查找---strstr

char str1[]="abcdefg"; 
char *str2="b"; 
char *p ; 
p = strstr(str1,str2);//在第一个字符串中找第二个字符串首次出现的指针并返回
printf("%c\n",*p );//输出p指向的字符 
printf("%s\n", p );//输出从p开始的字符串

8,键盘输入字符串----getchar

c=getchar();//从键盘缓冲区读取一个输入的字符 
printf("%c\n",c);
 //对比scanf的用法区别 
scanf("%c",&c); 
printf("%c\n",c);

9,键盘输入--conio.h中的getch()或getche()

char c; 
c=getch(); //不回显你输入的字符 
printf("你输入了:%c\n",c); 
c=getche();//回显你输入的字符 
printf("你输入了:%c\n",c)

10,键盘输入字符串---getsgets_s

char a[300]; 
gets(a);//<经典版>从键盘缓冲区读取一行字符放入到a数组 
printf("%s\n",a); 
gets_s(a,10);//<安全版>从键盘缓冲区读取一行字符放入到a数组,10代表缓冲区的大小 超出提示错误 printf("%s\n",a); 
//对比scanf 
scanf("%s",a); 
printf("%s\n",a);



这篇关于c++学习(7)--字符串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程