C语言-002-字符串

C语言-002-字符串-2020-3-9

一、gets()

该函数与使用cin>>在输入字符串方面的差别是:使用gets()函数输入的字符串可以包含空格,而使用cin在遇到空格时表示输入结束,也就是说, 使用cin>>只能输入一个单词,而不能输入整行或者包含由空格字符串。例如

char str[30];
gets(str);

运行时从键盘输入一行:

I am OK

结果是将次字符串序列7个字符串和’\0’共8个存入str。

二、puts()

该函数功能是输出(自动加上换行符)字符串.例如:

char s[]="Hi\nnice to meet you!"l;
puts(s);

执行时输出:

Hi
nice to meet you!

使用cout<<同样可以输出字符串(包括输出含有空格的字符串),但puts函数输出时自动加上换行符,而cout<<不会。

三、strcat()

其使用格式为:strcat(字符数组1,字符数组2)。
其功能是把"字符数组2"连接到"字符数组1"的后面,结果放在"字符数组1"中。因此,"字符数组1"的长度因该足够长,否则会出错。例如:

char a[]="12345";
char b[]="67890";
strcat(a,b);
cout<<a;//输出1234567890

四、strcpy()

使用格式为:strcpy(字符串数组1,字符串2),其功能是将"字符串2"拷贝到"字符数组1"中。"字符数组1"的长度应该足够长,否则会出错。例如:

char str[]="Old";
cout<<strcpy(str,"New");//输出New

五、strlen()

其使用格式是strlen(字符串),其功能是返回"字符串“的长度,不包括串结束标记’\0’。例如:

char s[]="Hello!";
cout<<strlen(s);

六、strcmp()

使用格式是strcmp(字符串1,字符串2),其功能是比较两个字符串,比较规则是依次按字符的ASCII码大小比较。若字符串1等于字符串2,则返回0;则返回0;若字符串1小于字符串2,则返回负整数,若字符串1大于字符串2,则返回一个正整数。例如

char str1[]="Hello!";
char str2[]="hello!";
cout<<strcmp(str1,str2);

使用字符串函数的几点说明:

1.不能用赋值语句将一个字符串常量直接赋给一个字符数组,但可以使用strcpy()函数进行赋值。例如:str=“abcde”;是错误的,应改为:strcpy(str,“abcde”);
2.两个字符数组不能直接比较大小,应使用strcmp()函数。例如if(str1>str2)是不正确的,应改为if(strcmp(str1,str2)>0).
3.使用字符数组要小心越界

发布了91 篇原创文章 · 获赞 101 · 访问量 3298

猜你喜欢

转载自blog.csdn.net/weixin_41096569/article/details/104752515