获取的documentation说:
从标准输入(stdin)读取字符并将它们存储为a C字符串转换为str,直到换行符或文件结尾为止 达到。
但它没有说明换行符是什么。是否所有以下内容都被视为换行符:'\ r'或'\ n'或'\ r \ n'?
答案 0 :(得分:1)
从C标准(5.2.2字符显示语义)
\ n(换行)将活动位置移动到初始位置 下一行。
和(7.21.2 Streams)
2文本流是一个有序的字符序列 行,每行由零个或多个字符加上a组成 终止换行符。最后一行是否需要 终止换行符是实现定义的。人物 可能必须在输入和输出上添加,更改或删除 符合在主机中表示文本的不同约定 环境。因此,不需要一对一的对应关系 流中的字符与外部字符之间 表示即可。从文本流中读取的数据必然是 比较等于先前写入该流的数据 仅在以下情况下:数据仅包含打印字符和控件 字符水平制表符和换行符;没有换行符 紧接着前面有空格字符;最后一个角色是 换行符。是否写出空格字符 在读入时出现换行符之前 实现定义的。
因此新行字符是字符'\n'
。
考虑到函数gets
不安全,C标准不再支持。