cstdio对字符串的输入输出

int puts(const char *str);
int fputs(const char *str, FILE * stream);

相同点

将str复制到缓冲区中,并且都不会将最后的null字符复制.

不同点

  • puts会将str复制到标准的输出缓冲区中,而fputs将str复制到指定的输出缓冲区中(标准输出、文件)。
  • puts会在缓冲区最后自动加上换行符,而fputs不会。
char *gets(char *str);
char *fgets(char *str, int num, FILE *stream);

相同点

从缓冲区中读取字符串,直到读取到换行符或者是null,然后存储在str中。
并且会自动添加null

不同点

  • gets是从标准缓冲区读取数据到str,fputs是从指定的缓冲区读取数据到str。
  • gets不会将换行符添加到str结尾(如果有的话),但fgets会读取换行符
  • fgets可以指定读取的最大字符数,而且只能读取num-1个字符。

总结

puts:忽略null,添加换行符
gets:添加null,忽略换行符
fputs:都忽略(null,换行符)
fgets:都不忽略
输入函数(puts、fputs)都会忽略null,输出函数(gets、fputs)都会添加null。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值