C 文本文件中的空终止符

C 文本文件中的空终止符,c,input,command-line,null-terminated,C,Input,Command Line,Null Terminated,我正在创建一个程序,通过命令行逐字读取文本文件的内容 空值是自动插入的还是我必须手动将其添加到文本文件中?在现代平台上,文本文件不需要有终止符。(在一些遗留平台上,他们确实有一个终止符,但我怀疑这里的情况是这样的。)几乎可以肯定的是,您不应该在文件中写入终止符,因为它可能会导致不需要终止符的程序出现问题。读取时,文件结尾用作终止符 C中的文本字符串是以零结尾的字符数组,也称为空字符,助记符NUL(带有一个L,与C中的null不同)。创建字符串时,确实需要正确终止它们。返回字符串的函数,包括从文件

我正在创建一个程序,通过命令行逐字读取文本文件的内容

空值是自动插入的还是我必须手动将其添加到文本文件中?

在现代平台上,文本文件不需要有终止符。(在一些遗留平台上,他们确实有一个终止符,但我怀疑这里的情况是这样的。)几乎可以肯定的是,您不应该在文件中写入终止符,因为它可能会导致不需要终止符的程序出现问题。读取时,文件结尾用作终止符


C中的文本字符串是以零结尾的字符数组,也称为空字符,助记符NUL(带有一个L,与C中的
null
不同)。创建字符串时,确实需要正确终止它们。返回字符串的函数,包括从文件中读取字符串的函数(例如,
fgets
),可以为您终止字符串。

您可以使用EOF而不是NULL,EOF表示文件结束,并自动插入。[
NULL
是一个带有空指针常量的宏。文本文件中没有
NULL
字符或空指针常量。不清楚您的意思。请查看并向您的问题添加更多信息,包括您的问题代码。@Norman文本文件中的旧终止符不是
NULL
,但例如,
Ctrl-Z
0x1A
@WeatherVane是的,我知道,这就是为什么我没有指定空终止符,而只是简单地指定了“一个终止符”。无论如何,我认为这与问题无关,只是一些琐事。=)对不起,这句话是对问“空值是自动插入的还是我必须手动将其添加到文本文件中”的人说的,所以可能与这个问题有关。这就是我要找的。谢谢:)