因为c语言是在大一上学期学习的,所以很多函数都忘记了,刷题的时候还要重新翻书,不是很方便,所以在这里把字符串的常用函数记录一下。
字符串输出函数
puts(字符串数组名)
字符串的输出可以使用printf()和puts()函数,区别为前者可以同时输出多个字符串,后者一次只能输出一个字符串。
例如
puts(s1,s2) //是错误的
printf("%s,%s",s1,s2); //是正确的
另外,用puts()输出一行时,不必另加换行符‘\n’,这与printf("%s")格式不同,后者不会自动换行
字符串输入函数
gets(字符串数组名)
功能:从标准输入设备键盘上输入一个字符串,得到一个函数值,即该字符数组的首地址
当输入的字符串中含有空格时,输出仍为全部字符串。gets()函数并不以空格作为字符串输入结束的标志,而只以回车作为输入结束的标志。这与scanf()函数不同。
字符串连接函数
strcat(str1,str2)
功能:将str连同‘\0’连接到str1的字符串的后面,并删去str1中字符串结束标志’\0’,连接后的新字符串在str1中。
注意:常与for循环while循环一起使用,可以把多个字符串连接起来组成一个新的字符串,而不能使用strcpy,进行重组的过程中会出现字符’\0‘,导致出现错误
字符串拷贝函数
strcpy(str1,str2)
功能:将字符串str2复制到字符数组str1中,字符串结束标志’\0’也一同复制,str2的值不边。
注意:数组不能进行整体赋值,所以不能直接使用赋值语句来实现赋值。下面的赋值语句是非法的
str1 = str2
str1 = "program"
另外,赋值时,字符串str2中的’\0’也一起被赋值。
字符串比较函数
strcmp(字符串数组名1,字符串数组名2)
功能:按照ASCII的值顺序比较两个数组中的字符串,并由函数返回值比较结果。字符串1=字符串2,返回值为0;字符串1>字符串2,返回值大于0;字符串1<字符串2,返回值小于0。