Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C get()到达';时是否停止读取\r';或'\n';或'\r\n';?_C - Fatal编程技术网

C get()到达';时是否停止读取\r';或'\n';或'\r\n';?

C get()到达';时是否停止读取\r';或'\n';或'\r\n';?,c,C,gets的报告说: 从标准输入(stdin)读取字符并将其存储为 将字符串转换为str,直到输入换行符或文件结尾 达到 但是它没有说明什么是新行字符。下列所有字符是否都被视为换行符:'\r'或'\n'或'\r\n' 来自C标准(5.2.2字符显示语义) \n(新行)将激活位置移动到 下一行 和(7.21.2条溪流) 2文本流是由以下字符组成的有序字符序列: 行,每行由零个或多个字符加上 终止新行字符。最后一行是否需要 终止新行字符是实现定义的。人物 可能必须在输入和输出时添加、更改或删除到 遵守

gets的报告说:

从标准输入(stdin)读取字符并将其存储为 将字符串转换为str,直到输入换行符或文件结尾 达到

但是它没有说明什么是新行字符。下列所有字符是否都被视为换行符:'\r'或'\n'或'\r\n'

来自C标准(5.2.2字符显示语义)

\n(新行)将激活位置移动到 下一行

和(7.21.2条溪流)

2文本流是由以下字符组成的有序字符序列: 行,每行由零个或多个字符加上 终止新行字符。最后一行是否需要 终止新行字符是实现定义的。人物 可能必须在输入和输出时添加、更改或删除到 遵守主机中表示文本的不同约定 环境因此,不需要一对一的对应关系 在流中的字符和外部流中的字符之间 表示法。从文本流读入的数据必须 比较等于先前写入该流的数据 仅当:数据仅由打印字符和控件组成 字符水平选项卡和新行;不允许使用新行字符 前面紧跟空格字符;最后一个字符是 新行字符。是否为已写出的空格字符 读取时,紧跟在新行字符出现之前 实现定义

因此,新行字符是字符
'\n'


考虑到函数
gets
不安全,C标准不再支持它。

gets
已过时,请不要使用它。使用
fgets
时,一对EOL标记中只有一个成为输入字符串(Windows)的一部分。当它遇到换行符或覆盖重要内容和segfaults时,它会停止,这就是为什么每个C引用都说不要使用gets的原因。这个问题对
fgets()
同样有效,是的,请帮个忙,只使用
fgets()
。答案。
get()
读取
stdin
,默认情况下,stdin作为文本流打开。文本流的一个特征是,一些实现定义的行终止意义将动态转换为换行符。