602 字
3 分钟
--
一些函数
2023-11-11

一些函数#

puts 函数#

puts 输出字符串的函数。

作用是把一个字符串输出到终端。由于可以用printf,所以puts用的不多。

例如:

char str[]={"hello world"};
puts(str);
// 输出:hello world

gets 函数#

gets 用来取得一个字符串放置在字符串数组里去。

strcat 函数(字符拼接)#

用法#

c = strcat(a, b);

新的字符数组c的结果就是字符串a和字符串b的链接,比如:

  • A = “aaa”
  • B = “bbb”
  • C = “aaabbb”

注意:第一个字符数组必须足够大,链接后会吞掉第一个字符数组最后的\0

strcpy / strncpy 函数(字符串复制)#

strcpy#

strcpy是字符串复制函数,用法是这样的:

strcpy(a, b);

就可以把字符串b里的字符复制进a中。比如:

b = "hello world";
strcpy(a, b);
printf("%s", a);
// 输出:hello world

注意!:字符串a必须足够长才能容纳字符b的复制进去的值。

strncpy#

strncpy 函数:复制字符串的前n个字符进新的字符串里。

例如:

strncpy(a, b, 2);

这样做之后,字符串b的前两项就复制进给了a。这样做会取代字符数组a的前两项而后面的元素都不变。

strcmp 函数(字符串比较)#

基本用法#

strcmp(a, b);

从左到右每一项都按照ASCII码去比较大小,直至比较出来不同的字符或者到\0为止。

如果是纯英文字母组成的字符串数组,则比较”在字典中的位置”,也就是apple 小于 zoo。

需要注意的一点是:小写字母是大于大写字母的。

返回值#

  • 字符串1和2相同,返回0
  • 字符串1大于字符串2,则返回1
  • 字符串1小于字符串2,则返回-1

注意事项#

值得注意的是,两个字符串不能直接比较,这样写是错误的:

if(a > b)

必须要使用strcmp函数:

if(strcmp(a, b) == 1)

strlen 函数(字符串长度)#

字符串长度函数:strlen 用于计算字符串的长度,不包含\0

比如:

char a[100] = "hello world";
strlen(a);
// 结果是11,而不是12(没有\0),也不是100

strlwr / strupr 函数(大小写转换)#

用法:

strlwr(a); // 转为小写
strupr(a); // 转为大写

这是大小写转换函数,把字符串中的所有字母转化为小写/大写的字符串函数。

一些函数
https://vilstia.org/posts/学习笔记/c/一些函数/
作者
琴泠 - Lumina Qin
发布于
2023-11-11
许可协议
CC BY-NC-SA 4.0