ACM中gets函数用不了

因为这个函数不安全,现代c++编译器里面都删除了这个函数,网络上的gets_s有在VS中才能使用。推荐使用fgets

函数原型

char *fgets(char *str, int n, FILE *stream);

参数

  • str– 这是指向一个字符数组的指针,该数组存储了要读取的字符串。
  • n– 这是要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。
  • stream– 这是指向 FILE 对象的指针,该 FILE 对象标识了要从中读取字符的流。

功能

从指定的流 stream 读取一行,并把它存储在str所指向的字符串内。当读取**(n-1)**个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

返回值

如果成功,该函数返回相同的 str 参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针。如果发生错误,返回一个空指针。

  1. 在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则stream保持原来的内容,返回NULL;
  2. 如果发生读入错误,error指示器被设置,返回NULL,stream的值可能被改变。

使用方法:

char str[10];
while (fgets(str, 10, stdin) != NULL)
{
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值