黑马程序员技术交流社区
标题:
让初学者搞清字符串处理函数的总结
[打印本页]
作者:
macau
时间:
2015-1-13 01:24
标题:
让初学者搞清字符串处理函数的总结
---------
初学者学会字符串处理函数 ,自我总结归纳的内容,不明白的地方请大家指出来,希望能够帮助您,谢谢!
1.
puts 函数
格式为
puts (字符串数组)
可以输出转义字符 ,如
char str [ ] = { " China\n Bei jing " } ;
puts ( str ) ;
输出的结果为
China
Bing jing
总结 :
输出完成后会自动换行,平时用到比较少,可以用printf代替。
2. gets 函数
格式为
gets (字符数组)
从键盘输入一个字符串数到字符数组,得到一个函数值,该函数值是字符数组的首地址。
与scanf函数不同,
gets函数不以空格作为字
符串输入结束标志,只以回车作为输入结束。
总结 :一般利用gets函数的目的是向字符数组输入一个字符串。
3. strcat 函数
格式为 (字符数组1,字符数组2)
其作用是连接两个字符数组中的字符串,例如
char str1 [ 50 ] = { " China " } ;
// 注意字符数组1的数组长度必须足够大,以便能容纳下后面连接的新字符 ,否则会因为长度不够而出问题
char str2 [ ] = { "hao nan ren " } ;
printf("%s",strcat ( str1 , str2 ) ) ;
输出结果为:
China hao nan ren
注意 :
连接前两个字符串的后面都有 ' \0 ' ,只是在连接时将字符串1后面的 ' \0 ' 自动取消。
4. strcpy 函数
格式为
1) strcpy ( 字符数组1,字符串2 )
字符串复制函数,作用是将字符串2复制到字符数组1中去。例如
char str1 [20 ] = " NBA USA " ;
char str2 [ ] = ‘ ’;
// str2可以是字符数组名,也可以是一个字符常量
strcpy ( str1 , str2 ) ;
// str1 拷贝到 str2 中覆盖 str2 中的值,str1这时连同 \0一起拷贝 , 注意 str2 的字符串数组长度要足够长
5. strcmp 函数
strcmp (字符串1,字符串2)
它的作用是比较字符串1和字符串2。例如
if(strcmp ( str1 , str2 ) >0 )
printf ( " yes " ) ;
通常容易犯这样的错:
if(str1>str2)
printf ( "ye s" ) ;
结论 :
字符串1 = 字符串2, 函数值为 0
字符串1 > 字符串2 ,函数值为一个正整数
字符串1 < 字符串2 ,函数值为一个负整数
6. strlen 函数
格式为
strlen ( 字符数组 )
作用是
计算字符串实际长度的
函数(不抱扩‘ \0 ' 在内)
。例如
char str [6] = { " nba" } ;
printf( " %d " , strlen ( str ) ) ;
结果输出的不是 6,也不是 4 ,而是 3 。
可以直接计算字符串常量的长度 : strlen ( "nba " ) ;
作者:
pcy1022
时间:
2015-1-13 07:51
太好了,太全了,多谢分享。
作者:
macau
时间:
2015-1-13 11:06
pcy1022 发表于 2015-1-13 07:51
太好了,太全了,多谢分享。
一起学习,一起分享
作者:
woaiwomama
时间:
2015-1-13 13:01
视频里面好像没这个知识点啊
作者:
macau
时间:
2015-1-14 00:55
有些编程题目中会用到的..
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2