C语言之基础函数总结

gets

函数原型:
char *gets( char *buffer);

功能:
gets函数从标准输入中读取一行文本,并存储于作为参数传递给它的数组中。
一行文本由一串字符组成,以一个换行符(’\n’)结尾。
在返回之前,gets函数丢弃换行符(’\n’),取而代之的是以’\0’结尾。

返回值:
读取成功,函数返回与buffer相同的指针。
读入过程中遇到EOF或发生错误,函数返回NULL指针。
当返回值为NULL指针时可以用feof()和ferror()来判断函数是遇到EOF还是发生错误。

getchar()

从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码;

若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区。

若程序中有后继的getchar();函数,则直接从缓冲区逐个读取已输入的字符并输出,直到缓冲区为空时才重新读取用户的键盘输入。

fgets

原型 :
char * fgets(char * s, int n,FILE *stream);

参数:
s: 字符型指针,指向存储读入数据的缓冲区的地址。
n: 从流中读入n-1个字符
stream : 指向读取的流。

返回值:
1. 当n<=0 时返回NULL,即空指针。
2. 当n=1 时,返回空串"".
3. 如果读入成功,则返回缓冲区的地址。
4. 如果读入错误或遇到文件结尾(EOF),则返回NULL。

strcmp():字符串比较函数

原型:
int strcmp( const char *str1,const char *str2)

返回值:
原则上
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
不过有时候也是返回两个字符的ASCII值之差

注意:
1)strcmp()函数比较的是两个字符串,例如数组,字符串常量等,不能比较数字等其他形式的 参数 ;
2)函数返回值是int型,而不是char*,两个字符串是常量形式加const;
3)在这里str1,str2不用断言,因为两个字符串有可能是空,但一般不这么写,用时判断下,否则没什么太大的意义;

strcpy(a,b):只能将b字符串复制给a字符串

函数原型:
void *memcpy(void *dest, const void *src, size_t n);

功能:
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。

strcpy和memcpy的区别:
1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符”\0”才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。

3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。

strcat(a,b):将a和b连接起来后存到a中

函数原型:
char *strcat(char *a, const char *b);

作用:
去掉字符串a的结束符"\0"后,将字符串b连接到a的后面,并存储到a中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值