c语言c++知识整理(onenote)

c++中的字符串

C++获取字符cin,getchar,get,getline的区别 - shrimp_929 - 博客园 (cnblogs.com)

1.cin>>

1)最常见的是获取输入的一个字符或数字,如
int a,b;

cin>>a>>b;`

注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。若不想过滤掉空白字符,可以用noskipws流进行控制。

如下程序,没有过滤掉不可见字符,输入的空格字符存入了input[1]中,也可输出。

2)获取输入的字符串,可以用数组或string类型。

如:

char a[20];
cin>>a;
cout<<a<<endl;

或者string类型:

string s;
cin>>s;
cout<<s<<endl;

注意:遇到空格、回车等会结束获取输入的字符串,后面的字符串会过滤掉(存放在输入流中)。如果后面还需要输入字符串,则会从前面存放的字符串开始获取。

2.长度

获取C/C++字符串、字符数组长度_snailme的博客-CSDN博客_char数组长度

str.  strien(str)

在C语言中,对 sizeof() 的处理都是在编译阶段进行

char  int /  int bzsizeof(str); /

strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0’)

计算结构体数组的个数:sizeof(结构体数组)/sizeof(结构体)

struct (  int a;  int b;  char c[100];  gEsizeof( test ) / sizeof( test[O] )

str是数组拥有固定的内存 sizeof是计算它占的字节数

而指针只是一个存放变量地址的一个变量 在任何时候都是占四个字节

指针和数组是不一样的,但数组做为参数传递时就会退化为同类型的指针.

C/C , 十 code 0  有 2 个 原 则 : 对 数 组 si 。 f 是 数 组 的 大 小 ;  对 指 针 si “ of 是 指 针 的 大 小 ( 4 冫  char str[]  “ 卜 皂 110 ” ; sizeof (str ) = 6  / / 上 面 2 个 就 好 解 《 $ 1 ) '  sizeof ( p ) : 4  g  void Func ( char str[løø])  这 个 实 传 过 来 的 是 个 指 ,  sizeof( str =

来自 https://bbs.csdn.net/topics/270084028

3.比较

使用strcmp进行比较

来自 https://blog.csdn.net/qq_31243065/article/details/82810165

C语言中字符数组的初始化与赋值

来自 https://blog.csdn.net/weibo1230123/article/details/80512727

char parr[] "  zifuchuanshuzu"  // —charr[ ]  char charr[] =  char —  a  u'

image-20210204011720517

• strcpyl%ü  char *dest, const char*src);  string. h*nstdio.h  VJfiE:  char *dest, const char *src) ;  string. h  VjßE:

经典排序算法

在这里插入图片描述

算法链接

总结

  • 在C语言中并没有直接提供字符串的操作,其字符串操作是通过转化为字符串完成的,例如字符数组,字符指针,其本质是对字符的操作。
  • 作为字符数组,与普通数组相同,区别在于它的每一个元素是一个字符,所以不可以直接用“=”对字符数组赋值(parr[]=”zhifushuzu”,是错误的赋值方式),但是可以对每一个元素进行赋值(charr[12]=’\0’是正确的)。
  • 字符串一定是以’\0’结尾的;字符数组和字符指针我们当做字符串整体初始化,系统会自动添加’\0’;对于字符数组,如果采用单个字符的方式进行初始化或者赋值一定要考虑结束符’\0’
  • strcpy和strcat内部也是对字符的操作,以‘\0’作为字符串结束的标志。

来自 https://blog.csdn.net/weibo1230123/article/details/80512727

猜你喜欢

转载自blog.csdn.net/weixin_47656543/article/details/113623076
今日推荐