Sentinel值和文件结束字符之间的区别是什么?

时间:2017-05-02 06:39:17

标签: eof sentinel data-stream

这个问题源于此(软件开发)教科书问题:

  

用于指示数据流结束的值称为:

     
      
  1. 哨兵价值。

  2.   
  3. 文件结束(EOF)字符。

  4.   
  5. 一面旗帜。

  6.   
  7. 司机

  8.   

正确答案显然是1,但我回答了2。

虽然我找到了哨兵值的定义,但我无法在教科书中找到文件末尾字符的定义。

  

Sentinel值 (教科书)

     

用于指示文件中数据结束的虚拟值。 Sentinel来自哨兵这个词,一个哨兵是一个防止未经授权人员通过的警卫。

然而,这与我在维基百科上发现的内容相矛盾(来源似乎是合法的)。

  

Sentinel值 (Wikipedia)

     

... 算法上下文中的特殊值,该算法使用其存在作为终止条件,通常在循环或递归算法中

然后是文件结束定义。

  

文件结束 (Wikipedia)

     

... 计算机操作系统中的条件,无法从数据源读取更多数据。数据源通常称为文件或流。

所以,从这一点来看,似乎更好(或正确?)的答案是2,因为问题是询问“数据流”。这是否意味着教科书定义错误或“愚蠢”,或者是一个归类为哨兵价值的文件结束字符?

1 个答案:

答案 0 :(得分:0)

通常在这些软件教科书中,哨兵值通常与文件流等相关联。

如果我没记错的话,讨论哨兵值的章节一般都集中在文件处理上,所以在这种情况下,答案是1。