Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.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
'\0';和'\n';在C编程语言中?_C_Escaping_Character - Fatal编程技术网

'\0';和'\n';在C编程语言中?

'\0';和'\n';在C编程语言中?,c,escaping,character,C,Escaping,Character,“\0”字符和“\n”字符在C编程语言中有什么区别?“\0”是一个空字符(ASCII 0),实际上也是一个字符串终止符。。。(C字符串以NULL结尾):如果您的字符串类似于“this is \0a string”,则“\0”后面的部分将被忽略(即使它实际上位于生成的代码中) “\n”是一个换行符(ASCII 10)。值得注意的是,在某些情况下,这个换行符实际上可以被转换。例如,在Windows上,文件中的换行符由“\r\n”序列表示(两个字节:ASCII 13,回车,后跟ASCII 10,换行符

“\0”字符和“\n”字符在C编程语言中有什么区别?

“\0”是一个空字符(ASCII 0),实际上也是一个字符串终止符。。。(C字符串以NULL结尾):如果您的字符串类似于
“this is \0a string”
,则
“\0”
后面的部分将被忽略(即使它实际上位于生成的代码中)


“\n”
是一个换行符(ASCII 10)。值得注意的是,在某些情况下,这个换行符实际上可以被转换。例如,在Windows上,文件中的换行符由
“\r\n”
序列表示(两个字节:ASCII 13,回车,后跟ASCII 10,换行符),如果您向文件写入(例如使用
fprintf()
)包含
'\n'
字符的字符串,它将自动转换为
“\r\n”
序列,如果文件以ASCII模式打开(通常是默认模式)。

“\0”为空:这将终止字符串。”\n'是新行

\0
是空字节,用于终止字符串。
\n
是ASCII中的换行符10,用于(在Unix上)分隔行。

'\0'是空字符,表示C中字符串的结尾。(
printf(“%s”)
将在字符串中第一次出现\0时停止打印


“\n”是一个换行符,在打印时只会使文本在下一行继续。

“\0”
是一个字符常量,写为
八进制转义序列
。它的值为0。它与“0”不同。最后一个值在ASCII中为48,在EBCDIC中为240


'\n'
是一个字符常量,写为
简单转义序列
并表示新行字符。其值等于10。

'\0'
0
'\n'
10
(如果您使用的是最常见的ASCII编码).
'\0'
是零,
'\n'
是一个换行符,区别在于它们被定义为不同的。@MattMcNabb虽然ASCII兼容的编码是最常见的,但ASCII本身肯定一点也不常见。简单地说,十进制的10。@alvits它不可能是CRLF,因为
'\n'
是一个字符。然而,这是正确的在I/O时,例程(例如,
fprintf()
)确实会将其转换为
“\r\n”
(CRLF),但如果文件是以二进制模式打开的,则不会。这是一个很好的观点,我将编辑以提及它。@C代码中的alvits
“\n”
总是换行符。您正在谈论的是在读取或写入文本流时执行的翻译。(即,磁盘上文件中的内容可能与读取代码时看到的内容不匹配)@MattMcNabb-是的,你们两人都绝对正确。我应该完整地阅读答案,然后准确地留下评论。我正在删除我不准确的评论,以防止该网站的访问者感到困惑。@阿尔维茨实际上你的评论很有用,因为它帮助改进了答案,提供了有关从\n到\r\n转换的详细信息,这一点很重要。这是否意味着像
“This\0是一个\0字符串。”
这样的字符串将在
“This”
之后终止,而第二个
\0
将被忽略?