stream.fail() eof() EOF


ifstream infile("student.dat");

while((c=infile.get())!=EOF){}    //EOF的值是-1

但在

#include<iostream>
using namespace std;
int main()
{
int c;
while((c=cin.get()) !=EOF)
cout<<c<<endl;
}

中,输入-1 却不会终止    因为输入-1,程序是按照 - 和 1 两个字符接收的。get()是读取字符的。

在windows中,EOF表示按ctrl+Z,linux中,EOF则按ctrl+D

infile.eof()判断的是文件中所有的字符包括回车,只有当文件中什么字符都没有了,才会返回-1,到达文件的末尾。

时间: 2024-10-10 17:01:15

stream.fail() eof() EOF的相关文章

PHP &lt;&lt;EOF EOF的使用方法

PHP <<EOF EOF的使用方法 <?php     $name = '浅水游';     print <<<EOT             <html>             <head>             <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />             <t

Linux CAT与ECHO命令详解 &lt;&lt;EOF EOF

Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从键盘创建一个文件. $ cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件. $cat file1 file2 > file cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName 说明:

(转)C语言中的EOF和feof()

今天遇到了feof()判断文件结束多输出一行的问题,在网上看到一篇写得比较好的文章,转过来(誊写一遍)加深印象.原文地址:http://blog.csdn.net/flyyyri/article/details/5084981 1.EOF是标准库中的宏定义,#define EOF -1,在32位系统中是int型数据,表示为0xFFFFFFFF,EOF 不是一个字符,也不是文件中实际存在的内容.EOF不但能表示读文件到了结尾这一状态,它还能表示 I/O 操作中的读.写错误(可以用 ferror()

linux shell 的here document 用法 (cat &lt;&lt; EOF)

什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter   Here Document Content delimiter 它的作用就是将两个 delimiter 之间的内容(Here Document Content 部分) 传递给cmd 作为输入参数. 比如在终端中输入cat << EOF ,系统会提示继续进行输入,输入多行信息再输入EOF,中间输入的信息将会显示在

php中的定界符EOF Perl风格的字符串输出技术

<<EOF EOF;//顶格写 Perl风格的字符串输出技术 定界符不唯一,只要首尾统一即可: 在<<<EOF 和 EOF; 之间的文本, 可以不用转义, 比如单引号和双引号一般用于输出长的html文本或者文本赋值,这样写sql语句, 可以不用对字符型字段两边的单引号进行转义 例1 $v=2;$a= <<<EOF"abc"$v"123"EOF;echo $a; //结果连同双引号一起输出:"abc"

php 的定界符 &lt;&lt;&lt;eof

PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 --按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误.如果是一两处还可以容忍,但是要是一个完整的 html文本或者是一个200行的js我想是谁都会崩溃的.这就是PHP为什么要引入一个定界符的原因--至少一大部分原因是这样的. 1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西:2.在PHP定界符

Shell中的cat&lt;&lt;EOF (here document) (转)

Linux shell的here document用法(cat << EOF) 什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Document Content delimiter 它的作用就是将两个 delimiter 之间的内容(Here Document Content 部分) 传递给cmd 作为输入参数. 比如在终端中输入cat <<

php的定界符&lt;&lt;&lt;eof的问题

在php的编程过程中难免会遇到输出大段的html和javascript脚本的情况,可都放在具体的地方的时候,路由不好处理,而且比较浪费时间 如果按照传统的输出方法,按照字符串输出的话,需要大量的转义字符串对字符串中的特殊字符进行转义 麻烦又费时间,还容易出现语法错误 php定界符的作用就是划分出来一片区域,将其中的的格式和内容按照原样输出. php定界符中的任何特殊字符都不需要转义 php.定界符中的变量会被正常的用其值来替换 <<<eof . eof; 如果使用的过程中出现错误, 检查

需要交互的shell编程——EOF(转载)

在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“, 再次返回到主调shell,可将其理解为分界符(delimiter).既然是分界符,那么形式自然不是固定的,这里可以将”EOF“可以 进行自定义,但是前后的”EOF“必须成对出现且不能和shell命令冲突.其使用形式如下: 交互式程序(命令)<<EOF command1 command2 ...... EOF ”EOF“中间的内容将以标准