文档库 最新最全的文档下载
当前位置:文档库 › fstream用法

fstream用法

fstream用法
fstream用法

ofstream/ifstream 文本/二进制方式读入/写出数据方法

文件I/O 在C++中比烤蛋糕简单多了。在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。

一、ASCII 输出

为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代< fstream.h>,所有的C++标准头文件都是无后缀的。)。这是的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O 操作。如果你猜是"fstream," 恭喜你答对了!但这篇文章介绍的方法,我们分别使用"ifstream"?和"ofstream" 来作输入输出。

如果你用过标准控制台流"cin"?和"cout," 那现在的事情对你来说很简单。我们现在开始讲输出部分,首先声明一个类对象。ofstream fout;

这就可以了,不过你要打开一个文件的话, 必须像这样调用ofstream::open()。

fout.open("output.txt");

你也可以把文件名作为构造参数来打开一个文件.

ofstream fout("output.txt");

这是我们使用的方法, 因为这样创建和打开一个文件看起来更简单. 顺便说一句, 如果你要打开的文件不存在,它会为你创建一个, 所以不用担心文件创建的问题. 现在就输出到文件,看起来和"cout"的操作很像。对不了解控制台输出"cout"的人, 这里有个例子。

int num = 150;

char name[] = "John Doe";

fout << "Here is a number: " << num << "\n";

fout << "Now here is a string: " << name << "\n";

现在保存文件,你必须关闭文件,或者回写文件缓冲. 文件关闭之后就不能再操作了, 所以只有在你不再操作这个文件的时候才调用它,它会自动保存文件。回写缓冲区会在保持文件打开的情况下保存文件, 所以只要有必要就使用它。回写看起来像另一次输出, 然后调用方法关闭。像这样:

fout << flush; fout.close();

现在你用文本编辑器打开文件,内容看起来是这样:

Here is a number: 150 Now here is a string: John Doe

很简单吧! 现在继续文件输入, 需要一点技巧, 所以先确认你已经明白了流操作,对"<<" 和">>" 比较熟悉了, 因为你接下来还要用到他们。继续…

二、ASCII 输入

输入和"cin" 流很像. 和刚刚讨论的输出流很像, 但你要考虑几件事情。在我们开始复杂的内容之前, 先看一个文本:

12 GameDev 15.45 L This is really awesome!

为了打开这个文件,你必须创建一个in-stream对象,?像这样。

ifstream fin("input.txt");

现在读入前四行. 你还记得怎么用"<<" 操作符往流里插入变量和符号吧?好,?在"<<" (插入)?操作符之后,是">>" (提取) 操作符. 使用方法是一样的. 看这个代码片段.

int number;

float real;

char letter, word[8];

fin >> number; fin >> word; fin >> real; fin >> letter;

也可以把这四行读取文件的代码写为更简单的一行。

fin >> number >> word >> real >> letter;

它是如何运作的呢? 文件的每个空白之后, ">>" 操作符会停止读取内容, 直到遇到另一个>>操作符. 因为我们读取的每一行都被换行符分割开(是空白字符), ">>" 操作符只把这一行的内容读入变量。这就是这个代码也能正常工作的原因。但是,可别忘了文件的最后一行。

This is really awesome!

如果你想把整行读入一个char数组, 我们没办法用">>"?操作符,因为每个单词之间的空格(空白字符)会中止文件的读取。为了验证:

char sentence[101]; fin >> sentence;

我们想包含整个句子, "This is really awesome!" 但是因为空白, 现在它只包含了"This". 很明显, 肯

定有读取整行的方法, 它就是getline()。这就是我们要做的。

fin.getline(sentence, 100);

这是函数参数. 第一个参数显然是用来接受的char数组. 第二个参数是在遇到换行符之前,数组允

许接受的最大元素数量. 现在我们得到了想要的结果:“This is really awesome!”。

你应该已经知道如何读取和写入ASCII文件了。但我们还不能罢休,因为二进制文件还在等着我

们。

三、二进制输入输出

二进制文件会复杂一点, 但还是很简单的。首先你要注意我们不再使用插入和提取操作符(译者注:

<< 和>> 操作符). 你可以这么做,但它不会用二进制方式读写。你必须使用read() 和write() 方法读取和写入二进制文件. 创建一个二进制文件, 看下一行。

ofstream fout("file.dat", ios::binary);

这会以二进制方式打开文件, 而不是默认的ASCII模式。首先从写入文件开始。函数write() 有两个参数。第一个是指向对象的char类型的指针, 第二个是对象的大小(译者注:字节数)。为了说明,

看例子。

int number = 30; fout.write((char *)(&number), sizeof(number));

第一个参数写做"(char *)(&number)". 这是把一个整型变量转为char *指针。如果你不理解,可以立刻翻阅C++的书籍,如果有必要的话。第二个参数写作"sizeof(number)". sizeof() 返回对象大小的字节数. 就是这样!

二进制文件最好的地方是可以在一行把一个结构写入文件。如果说,你的结构有12个不同的成

员。用ASCII?文件,你不得不每次一条的写入所有成员。但二进制文件替你做好了。看这个。

struct OBJECT { int number; char letter; } obj;

obj.number = 15;

obj.letter = ‘M’;

fout.write((char *)(&obj), sizeof(obj));

这样就写入了整个结构! 接下来是输入. 输入也很简单,因为read()?函数的参数和write()是完全一样的, 使用方法也相同。

ifstream fin("file.dat", ios::binary); fin.read((char *)(&obj), sizeof(obj));

我不多解释用法, 因为它和write()是完全相同的。二进制文件比ASCII文件简单, 但有个缺点是无法用文本编辑器编辑。接着, 我解释一下ifstream 和ofstream 对象的其他一些方法作为结束.

四、更多方法

我已经解释了ASCII文件和二进制文件, 这里是一些没有提及的底层方法。

检查文件

你已经学会了open() 和close() 方法, 不过这里还有其它你可能用到的方法。

方法good() 返回一个布尔值,表示文件打开是否正确。

类似的,bad() 返回一个布尔值表示文件打开是否错误。如果出错,就不要继续进一步的操作了。

最后一个检查的方法是fail(), 和bad()有点相似, 但没那么严重。

读文件

方法get() 每次返回一个字符。

方法ignore(int,char) 跳过一定数量的某个字符, 但你必须传给它两个参数。第一个是需要跳过的字符数。第二个是一个字符, 当遇到的时候就会停止。例子,

fin.ignore(100, ‘\n’);

会跳过100个字符,或者不足100的时候,跳过所有之前的字符,包括‘\n’。

方法peek() 返回文件中的下一个字符, 但并不实际读取它。所以如果你用peek() 查看下一个字符,

用get() 在peek()之后读取,会得到同一个字符, 然后移动文件计数器。

方法putback(char) 输入字符, 一次一个, 到流中。我没有见到过它的使用,但这个函数确实存在。

写文件

只有一个你可能会关注的方法.?那就是put(char), 它每次向输出流中写入一个字符。

打开文件

当我们用这样的语法打开二进制文件:

ofstream fout("file.dat", ios::binary);

"ios::binary"是你提供的打开选项的额外标志. 默认的, 文件以ASCII方式打开, 不存在则创建, 存在就覆盖. 这里有些额外的标志用来改变选项。

ios::app 添加到文件尾

ios::ate 把文件标志放在末尾而非起始。

ios::trunc 默认. 截断并覆写文件。

ios::nocreate 文件不存在也不创建。

ios::noreplace 文件存在则失败。

文件状态

我用过的唯一一个状态函数是eof(), 它返回是否标志已经到了文件末尾。我主要用在循环中。例如, 这个代码断统计小写‘e’ 在文件中出现的次数。

ifstream fin("file.txt");

char ch; int counter;

while (!fin.eof()) {

ch = fin.get();

if (ch == ‘e’) counter++;

}

fin.close();

我从未用过这里没有提到的其他方法。还有很多方法,但是他们很少被使用。参考C++书籍或者文件流的帮助文档来了解其他的方法。

结论

你应该已经掌握了如何使用ASCII文件和二进制文件。有很多方法可以帮你实现输入输出,尽管很少有人使用他们。我知道很多人不熟悉文件I/O操作,我希望这篇文章对你有所帮助。每个人都应该知道. 文件I/O还有很多显而易见的方法,?例如包含文件. 我更喜欢用流是因为他们更简单。祝所有读了这篇文章的人好运, 也许以后我还会为你们写些东西。

各种时态的用法

各种时态的用法 一、一般现在时 构成:a.主动:动词原形(主语是第三人称单数时,谓语动词要加s/es);be动词要用am,is,are。 b.被动:am / is / are + 过去分词 用法: ①一般现在时表示经常性或习惯性的动作,常用频度副词sometimes, often, always, usually, seldom及时间副词every day, night, week, month, year, in the morning, in the afternoon, in the evening, at night做状语。如: I go to school at 6 every morning. 每天早上我6点去上学。 ②一般现在时表示客观存在及普遍真理。如: Summer follows spring. 春天之后是夏天。 The sun rises in the east. 太阳从东方升起。 注意:此种用法即使出现在过去的语境中,仍用一般现在时。如: I learned that the earth goes around the sun when I was in primary school. 我在小学就学过地球是围绕太阳转的。 ③一般现在时表示格言或警句。如: Pride goes before a fall. 骄兵必败。 ④一般现在时表示目前的情况或状态,常跟时间副词now连用。如: I am a teacher. Peter writes good Chinese but does not speak well. He lives in Beijing now, ⑤以here,there等开始的倒装句,表示动作正在进行。如: Here comes the bus. = The bus is coming. There goes the bell. = The bell is ringing. ⑥习惯性的爱好或行为。如: I like dancing while she likes singing. 我喜欢跳舞,而她喜欢唱歌。 We get up at six. ⑦在某些习惯表达法中,常用一般现在时表示已经发生过的动作或存在的状态。如: They say Wu Dong is ill. 据说吴东病了。 The paper says the disease is under control. 报纸上说这种病已经得到了控制。 The diagram tells us that people’s living is improving. 这份图标告诉我们,人们的生活正在改善。 ⑧在下列情况下表示将来: a.在(时间、条件等)状语从句中用一般现在时代替一般将来时。如: I will give it to him as soon as I see him. 我一看见他就会交给他。 He will come if you invite him. 如果你请他,他会来的。 Suppose he doesn’t agree, what shall we do? 假如他不同意,那怎么办? I shall do as I please. 我高兴怎么做就怎么做。 He will continue the work no matter what happens. 不管发生什么情况他都要继续这项工作。 b.在the more…the more…(越…越…)句型中,前者通常用一般现在时代替一般将

常见时态的用法

常见时态的用法 一、一般现在时:1.表示习惯性或经常性的 动作或状态,常与usually, often, sometimes,确always, seldom, every day (year, morning…)等表示频率的时间状语连用。 He often does his homework in his study. I usually get up at six in the morning. 2. 表示客观规律、正确事实或科学真理等。Knowledge comes only from practice. ※Columbus proved that the earth is round. 3. 在连词when, while, before, after, until, till, once, if, unless, as soon as, as long as, by the time, in case, even if, the moment/ minute /instant, the day/ year, immediately 等引导的时间(条件、让步)状语从句中,常用一般现在时表将来。 When Bill comes (will come×), ask him to wait for me. We’ll go out for a walk as soon as the rain stops. Even if it rains tomorrow, the sports meeting will take place. 4. come, go, arrive, leave, start, begin, return等动词可以用来表示按照计划、安排将要发生、且不轻易改变的动作(有特定的时间状语)。. The flight takes off at ten o’clock. School begins on September 1st. ※Could you tell me when he ____ back? ----When he ____ back, I’ll let you know. A. comes; comes B. will come; comes C. will come; will come D. comes; will come 5.试比较: Now I put the sugar in the cup. I am doing my homework now. 第一句用一般现在时,用于操作演示或指导说明的示范动作;第二句now是进行时的标志,表示正在进行的动作。 二、一般过去时:1)表示在确定的过去时间里发生的动作或存在的状态,常与yesterday, in 1998, two years ago, last month, the day before yesterday, the other day, when从句等连用. The Red Army came into being in 1927. A robber broke into the bank and robbed the bank of a lot of money last night. 一般过去时还可表示过去发生的一连串动作。The monkey jumped off the tree, picked up a big stone and threw it at us. 2)用于以下固定句型中: It is (high/ about) time that sb. did sth. 早该做... Would/ had rather sb. did sth. 宁愿某人去做…3)wish, wonder, think, hope, know等用过去时,表示的动作都已成为过去,现已不复存在。Oh, it’s you. I didn’t know you were here too. 三、一般将来时:表示将要发生的动作或存在的状态,常与soon, tomorrow ( morning…), next week (year…), some day, from now on, the day after tomorrow, in the future等表将来的时间状语连用。有几种构成方式: 1.Be going to + 动词原形①表示计划、决 心,说话前已打算要做的事情。 ②说话人根据已有的迹象或经验判断认为将要发生的事情。 I’m going to buy a new car if I have a lot of money. Look! Dark clouds are gathering. It is going to rain. 2. shall/will +动词原形①单纯表将来②表说话时才想到的意愿或决心。 Eg: Jack is ill in hospital. ---- Oh really? I _____. I_____ to see him. A. didn’t know; will go B. don’t know; am going C. haven’t known; will go D. didn’t know; am going 3. be + to do ①按照计划、安排将要做的事情。②(上级对下级、父母对子女)下达命令,意思是“应该…”③表命中注定将要发生的事情。 We are to discuss the report next Saturday. You are to finish the work before five this afternoon. The little boy is to become a VIP. 4. be about to +动词原形或be on the point of doing 表示即将或正要去做…. 不与tomorrow, next week等具体的时间状语连用,但可和when从句连用。 I am about to do (=am on the point of doing) my homework. 5. be + doing 表示按计划安排即将发生的动作,常用于come, go, start, set out, leave, reach, return, move, take off, arrive等 Are you staying here till next week?

C++文件操作详解(ifstream、ofstream、fstream)

C++文件操作详解(ifstream 、ofstream 、fstream ) C++通过以下几个类支持文件的输入输岀: ofstream: 写操作(输岀)的文件类 ifstream: 读操作(输入)的文件类 fstream: 可同时读写操作的文件类 打开 文件(Open a file ) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来, 也就是说打开 一个文件。被打开的文件在程序中由一个流对象 (stream object )来表示(这些类的一个实例), 而对这个流对象所做的任何输入输岀操作实际就是对该文件所做的操作。 要通过一个流对象打开一个文件,我们使用它的成员函数 open (): void ope n (const char * file name, ope nm ode mode ); 这里file name 是一个字符串,代表要打开的文件名, mode 是以下标志符的一个组合: ios::i n 为输入(读)而打开文件 ios::out 为输岀(写)而打开文件 ios::ate 初始位置:文件尾 ios::app 所有输岀附加在文件末尾 ios::tru nc 如果文件已存在则先删除该文件 ios::b inary 二进制方式 这些标识符可以被组合使用,中间以 ”或”操作符(|)间隔。例如,如果我们想要以二进制方式打 开文件"example.bin" 来写入一些数据,我们可以通过以下方式调用成员函数 open ()来实现: ofstream file; file.ope n ("example.b in ”,ios::out | ios::app | ios::b in ary ); ofstream, ifstream 和fstream 所有这些类的成员函数 ope n 都包含了一个默认打开文件的方 式,这三个类的默认方式各不相同: 类 参数的默认方式 ofstream i os::out | ios::trunc ifstream i os::in fstream ios::i n | ios::out 只有当函数被调用时没有声明方式参数的情况下, 默认值才会被采用。 如果函数被调用时声明了 任何参数,默认值将被完全改写,而不会与调用参数组合。 由于对类ofstream, ifstream 和fstream 的对象所进行的第一个操作通常都是打开文件,这 些类都有一个构造函数可以直接调用 open 函数,并拥有同样的参数。这样,我们就可以通过以 下方式进行与上面同样的定义对象和打开文件的操作: (由ostream 引申而来) (由istream 引申而来) (由iostream 引申而来)

时态用法归纳

时态用法归纳Mar 2, 2011 第一部分重点时态 1. 过去时与过去进行时 2. 过去时与现在完成时 3. 过去时与过去完成时 4. 进行时态表暂时性情况 5. 一般时态表将来 一. “一般过去时” 与“过去进行时” 一般过去时:指过去做完了某事,有结果。 过去进行时:指当时正做某事, 不知结果或不谈论结果。 1) We built a dam last winter. 大坝 We were building a dam last winter. 2) I was using my phone when the teacher came in. 3) My brother fell while he was riding his bicycle and hurt himself. (NMET 89) 4) I don’t think Jim saw me; he was just staring into space. (NMET 95) Practice: 1) --- Has Sam finished his homework today? --- I have no idea. He _____ it this morning. (2004四川高考) A. did B. was doing (B ) 2) ---- What’s wrong with your coat? ---- Just now when I wanted to get off the bus, the man next to me _____ on it. (2005重庆) A. was sitting B. sat (A) 进一步练习: 1.I first ______ (meet) Lisa three years ago. She ______ (work) at a radio shop at the time. (NMET 97) (met; was working ) 2.“Sorry to have interrupted you. Please go on.” “Where was I?” “You _________ (say ) you didn’t like your father’s job.” (2004年春招) (were saying ) 3. “You were out when I dropped in at your home.” “Oh, I ___________ (wait ) for a friend from England at the airport.” (2004广东) (was waiting) 4. Mary _____ __ (make ) a dress when she cut her finger. (NMET91 ) (was making ) 5. My mind wasn’t on what he was saying so I’m afraid I _____ (miss) half of it. (2004河北卷) (missed ) 6. ---You look very tired. _______ at all last night? --- No, not really. I’m tired out now. (2006陕西) A. Did you sleep B. Were you sleeping (A )

初中英语八大时态结构及用法详解

初中英语八大时态结构及用法详解英语八大时态: 1一般现在时 标志:动词原形 1. 表示经常性或习惯性动作,常与表频度的时间状语连用: She often speaks English. I leave home for school at 7 every morning. 2. 表示现在的状态、特征、职业、能力、感觉等: He seems to feel a bit down today. He works as a driver. 3. 表示真理、客观存在、科学事实或用于格言警句中: Shanghai lies in the east of China. Columbus proved that the earth is round. Where there is a will, there is a way. 4. 表示现在瞬间的动作: Here comes the bus! 5. 表示将来 1) 表按规定、计划、安排将要发生的动作(仅限于某些表示“来、去、动、停、开始、结束、继续”等的趋向动词),可以与表示未来的时间状语搭配使用。常见的用法是:飞机、火车、轮船、汽车等定期定点运行的交通状况。如:The next train leaves at 3 o’clock this afternoon.

How often does the shuttle bus run? 2) 在时间和条件状语从句中常使用一般现在时表示将来发生的事情: When Bill comes (不用will come), ask him to wait for me. I shall go there tomorrow unless I’m too busy. 2一般过去时 标志:动词过去式 *闭音节:元音字母a, e, i, o, u如果发字母本来的音则称为开音节,否则称为闭音节。 1. 表示过去某时所发生的动作或存在的状态,常与表示过去的时间状语连用(e.g. yesterday, this morning, just now, a moment ago, in May, last night / year / week, once upon a time, the other day, before …, when …, in the past等)。如: Jim rang you just now. Liu Ying was in America last year. 2. 表示过去经常或反复发生的动作,特别是used to do表达的句型,本身表示 的就是过去常常。如: When I was a kid, I often played football in the street. She used to visit her mother once a week. *注意区分sb. used to do sth.(某人过去常常做某事,此处to是动词不定式 标志符号)和sb. be used to sth./doing sth.(某人习惯于某物/做某事,此处to 是介词)。 3. 代替一般现在时,表示一种婉转、客气、礼貌、商量的语气。此用法仅适用于少数动词(如want, hope, wonder, think, intend等)及情态动词could, would。如:

C FSTREAM文件操作详细说明

fstream文件操作详细说明 目录 一、打开文件 (2) 二、关闭文件 (3) 三、读写文件 (3) 1、文本文件的读写 (3) 2、二进制文件的读写 (4) 四、检测EOF (5) 五、文件定位 (5)

fstream文件操作详细说明 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<''\n'';就表示把字符串"Write Stdout"和换行字符(''\n'')输出到标准输出流。 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。 在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。 一、打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char*filename,int mode,int access); 参数说明: filename:要打开的文件名 mode:要打开文件的方式 access:打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app:以追加的方式打开文件 ios::ate:文件打开后定位到文件尾,ios:app就包含有此属性 ios::binary:以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文ios::in:文件以输入方式打开 ios::out:文件以输出方式打开 ios::nocreate:不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc:如果文件存在,把文件长度设为0 可以用“或”把以上属性连接起来,如ios::out|ios::binary 打开文件的属性取值是: 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件 可以用“或”或者“+”把以上属性连接起来,如:1|2就是以只读和隐含属性打开文件。 例如:以二进制输入方式打开文件c:\config.sys

现在进行时用法归纳

现在进行时用法归纳 基本用法: 1. 表示说话时正在进行的动作,强调“此时此刻”,常和now, look, listen连用。 Look! A train is coming. 看,火车来了。 Listen! He is playing the piano. 听,他在弹琴。 2. 表示现阶段正在进行的事情,不一定说话时正在进行。常和at present ,this week ,these days…等时间状语连用。 What lesson are you studying this week? 你们本周学哪一课了?(说话时并不在学) 3. 现在进行时有时可用来表示一个最近按计划或安排要进行的动作,即用现在进行时代替一般将来时, 动词一般多为表示位置移动的动词。如:go, come, leave等。 Where are you going? 你去哪? I am coming. 我来了。 Are you going to Tianjin tomorrow? 你明天去天津吗? How many of you are coming to the party next week? 你们有多少人下周要来参加晚会? 4. wear用现在进行时表示一种状态。如: He is wearing a blue coat. 他穿着一件蓝外套。 5. 有些动词意思只是表示一种状态,不能用于现在进行时。如:have(有),like等。 Now each of us has a dictionary. 现在我们每一个人都有一本词典。 6. 现在进行时与always, often, forever等连用表示赞扬、厌烦等语气。该知识点仅作了解之用, 不作为中考考查内容。如: You’re always interrupting me! 你老打断我的话!(抱怨) My father is always losing his car keys. 我爸老丢车钥匙。(不满) She’s always helping people. 她老是帮助别人。(赞扬)

初中英语八大时态结构及用法

初中英语八大时态结构及用法 时态无疑是初中英语最重要的语法内容,学好时态基本就拿下了语法的半壁江山。 英语八大时态: 一、一般现在时 标志:动词原形 1. 表示经常性或习惯性动作,常与表频度的时间状语连用: She often speaks English. I leave home for school at 7 every morning. 2. 表示现在的状态、特征、职业、能力、感觉等: He seems to feel a bit down today. He works as a driver.

3. 表示真理、客观存在、科学事实或用于格言警句中: Shanghai lies in the east of China. Columbus proved that the earth is round. Where there is a will, there is a way. 4. 表示现在瞬间的动作: Here comes the bus! 5. 表示将来: 1)表按规定、计划、安排将要发生的动作(仅限于某些表示“来、去、动、停、开始、结束、继续”等的趋向动词),可以与表示未来的时间状语搭配使用。常见的用法是:飞机、火车、轮船、汽车等定期定点运行的交通状况。如: The next train leaves at 3 o’clock this afternoon. How often does the shuttle bus run? 2)在时间和条件状语从句中常使用一般现在时表示将来发生的事情:When Bill comes(不用will come)ask him to wait for me. I shall go there tomorrow unless I’m too busy. 二、一般过去时 标志:动词过去式

fstream_h

fstream.h #if _MSC_VER > 1000 #pragma once #endif #ifdef __cplusplus #ifndef _INC_FSTREAM #define _INC_FSTREAM #if !defined(_WIN32) && !defined(_MAC) #error ERROR: Only Mac or Win32 targets supported! #endif #ifdef _MSC_VER // Currently, all MS C compilers for Win32 platforms default to 8 byte alignment. #pragma pack(push,8) #include #endif // _MSC_VER /* Define _CRTIMP */ #ifndef _CRTIMP #ifdef _DLL #define _CRTIMP __declspec(dllimport) #else /* ndef _DLL */ #define _CRTIMP #endif /* _DLL */ #endif /* _CRTIMP */ #include #ifdef _MSC_VER // C4514: "unreferenced inline function has been removed" #pragma warning(disable:4514) // disable C4514 warning // #pragma warning(default:4514) // use this to reenable, if desired #endif // _MSC_VER typedef int filedesc; class _CRTIMP filebuf : public streambuf { public: static const int openprot; // default share/prot mode for open // optional share values for 3rd argument (prot) of open or constructor static const int sh_none; // exclusive mode no sharing static const int sh_read; // allow read sharing static const int sh_write; // allow write sharing // use (sh_read | sh_write) to allow both read and write sharing options for setmode member function static const int binary; static const int text; filebuf(); filebuf(filedesc);

英语现在进行时用法总结(完整)

英语现在进行时用法总结(完整) 一、单项选择现在进行时 1.Why are you here? You are supposed to ______ the experiment in the lab. A.perform B.be performing C.have performed D.be performed 【答案】B 【解析】 试题分析:考查被动语态。句意:你为什么在这里?你应该在实验室里做实验。(是别人让他在实验室做实验)故选B项。 考点:考查被动语态 【名师点睛】 被动语态由“助动词be+及物动词的过去分词”构成。人称、数和时态的变化是通过be的变化表现出来的。把主动语态的宾语变为被动语态的主语。把谓语变成被动结构(be+过去分词),根据被动语态句子里的主语的人称和数,以及原来主动语态句子中动词的时态来决定be的形式。把主动语态中的主语放在介词by之后作宾语,将主格改为宾格。 2.—I some courses at university,so I can’t work full time at the moment. A.take B.am taking C.took D.have taken 【答案】B 【解析】 试题分析:考查动词的时态。句意:因为我正在上学,所以不能在这时候做全职的工作。根据下方提到so I can’t work full time at the moment 可知我正在上学,故选B 项。 考点 : 考查动词的时态 3.The young parents _________ too much a pet of their son, which is bound to destroy him in the end. A.have made B.are making C.made D.will be making 【答案】B 【解析】 试题分析:句意:这对年轻的父母太宠爱他们的儿子,这一定会最后毁了他。词组:make a pet of sb 宠爱某人宠爱某人,因为指现阶段一直的行为,用现在进行时,所以选B。 考点:考查动词时态 4.—Have you seen recently? —No, but I _______ dinner with him on Friday. A.had B.have had C.am having D.was having 【答案】C 【解析】 试题分析:句意:---你最近见过Sean吗? ---不,但是我周五要和他一起吃饭。A.had一般过去时;B.have had现在完成时;C.am having是现在进行时表将来;D.was having

人教版英语英语动词的时态用法总结及解析百度文库

人教版英语英语动词的时态用法总结及解析百度文库 一、初中英语动词的时态 1.--- Will you go to America next month? ---Yes. But I promise I will call you as soon as I _________there. A.get to B.will get to C.will get D.get 【答案】D 【解析】 【详解】 句意:——下个月你将要去美国吗?——是的。但是我保证我一到达那里,就给你打电话。as soon as引导的时间状语从句,用一般现在时,主句用一般将来时。there是副词,前面不加介词,get there到达那里。故选D。 2.— Who the classroom tomorrow, Tony? — Our group. A.will clean B.cleans C.cleaned D.clear 【答案】A 【解析】 句意:——托尼,明天谁打扫教室?——我们小组。考查一般将来时。根据提示词tomorrow可知时态用一般将来时,其构成为:will+动词原形;故答案选A。 3.Jenny_______in the kitchen when you called her at 5 o'clock this afternoon. A.is cooking B.was cooking C.cooks D.cooked 【答案】B 【解析】 本题难度适中,考查过去进行时,当你昨天5点打电话给她时,他正在煮饭,答案是was cooking,选B。 4.—Do you know _________ the meeting? —Tomorrow morning. A.when they had B.when they are going to have C.when did they have D.when are they going to have 【答案】B 【解析】 【详解】 句意:——你知道他们什么时候来开会吗?——明天早上。 此题考查宾语从句,宾语从句要用陈述句语序,C和D是疑问句语序,故排除;根据回答Tomorrow morning可知此句时态是一般将来时,A是一般过去时,B是一般将来时;故选

英语八种时态的具体用法

英语八种时态的具体用法.txt师太,你是我心中的魔,贫僧离你越近,就离佛越远……初中 的体育老师说:谁敢再穿裙子上我的课,就罚她倒立。八种时态的具体用法: 一般现在时表示现阶段经常或习惯发生的动作或存在的状态,或说明主语的特征。 ①一般现在时句子中常有的时间状语:often,usually,sometimes,always,every (day等), once/twice,a (week等), on (Sunday等),never,in the (morning等)。如:They go to the Palace Museum once a year.(他们每年去一次故宫)/ They often discuss business in the evening.(他们经常在晚上商谈生意) ②表示客观真理、事实、人的技能或现在的状态时句子里一般不用时间状语。如:The earth turns round the sun.(地球绕着太阳转)/ Light travels faster than sound.(光传播比声 音快) ③表示十分确定会发生(如安排好的事情)或按照时间表进行的事情,用一般现在可以表达将 来,句子中可以有将来时间。如:The train for Haikou leaves at 8:00 in the morning.(开 往汉口的列车上午8点开车) ④在时间状语从句中(以when, after, before, while, until, as soon as等引导)和条件 状语从句中(以if,unless引导),用一般现在时代替一般将来时,句子可以有将来时间。如:Please ring me up as soon as you arrive in Germany.(你一到德国就给我打电话) / If it rains tomorrow,we will have to stay at home.(如果明天下雨我们就只好呆在家) ⑤一般现在时用于倒装句中可以表示正在发生的动作,动词以come, go为主。如:Here comes the bus. (车来了) / There goes the bell.(铃响了)。 ⑥一般现在时常用于体育比赛的解说或寓言故事中。Now the midfield player catches the ball and he keeps it. ⑦人的心理活动和感官动作一般用一般现在时而不用现在进行时表达,常见动词有:like, love, hate, dislike, want, wish, hope, think(认为),understand, remember, forget, mean, need, hear, feel, see. 如:I think it is going to snow.(我想天要下雪了)/ I really hope you can enjoy your stay here.(我真的希望你愉快地呆在这儿) 一般过去时表示过去某时发生的动作或状态,这种动作或状态可能是一次性,也可能经常 发生。 ①表示过去具体时刻发生的一次性动作时,时间状语有:at (eight) (yesterday morning),(ten minutes) ago, when引导的时间状语从句。如:I got up at 6:00 this morning.(我是早上六点钟起床的)/ Little Tom broke the window at half past nine this morning.(小汤姆今天早上九点半把窗子打破了)/ When he went into the room,he saw a stranger talking with his father.(他走进房间时发现一个陌生人正和他父亲谈话) ②表示过去一段时间内不知何时发生的一次性动作时,时间状语有:yesterday, last (year 等), in (1998 等)。如:He came to our city in the year 2000.(他2000年来到我们市) ③表示过去一个阶段中经常发生的事情时,时间状语有:last…, in…, from…to…, for(10 years),often,usually, sometimes, always, never等。如:Mr Jackson usually went to evening schools when he was young. / Every day he went to the rich man and borrowed books from him. ④讲故事、对过去经历的回忆、双方都明白的过去事件等一般用过去时,而且经常省略时间 状语。如:I happened to meet Rose in the street.(我正好在街上遇到露西) 一般将来时表示将来某一时刻或经常发生的动作或状态。 ①一般将来时的时间状语有:tomorrow,this (afternoon),next (year),one day,now,soon, someday,sometime, in the future, when引导的从句等。 ②用will构成的将来时,表示动作与人的主观愿望无关。“shall”用于第一人称,“will”

fstream用法

ofstream/ifstream 文本/二进制方式读入/写出数据方法 文件I/O 在C++中比烤蛋糕简单多了。在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代< fstream.h>,所有的C++标准头文件都是无后缀的。)。这是的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O 操作。如果你猜是"fstream," 恭喜你答对了!但这篇文章介绍的方法,我们分别使用"ifstream"?和"ofstream" 来作输入输出。 如果你用过标准控制台流"cin"?和"cout," 那现在的事情对你来说很简单。我们现在开始讲输出部分,首先声明一个类对象。ofstream fout; 这就可以了,不过你要打开一个文件的话, 必须像这样调用ofstream::open()。 fout.open("output.txt"); 你也可以把文件名作为构造参数来打开一个文件. ofstream fout("output.txt"); 这是我们使用的方法, 因为这样创建和打开一个文件看起来更简单. 顺便说一句, 如果你要打开的文件不存在,它会为你创建一个, 所以不用担心文件创建的问题. 现在就输出到文件,看起来和"cout"的操作很像。对不了解控制台输出"cout"的人, 这里有个例子。 int num = 150; char name[] = "John Doe"; fout << "Here is a number: " << num << "\n"; fout << "Now here is a string: " << name << "\n"; 现在保存文件,你必须关闭文件,或者回写文件缓冲. 文件关闭之后就不能再操作了, 所以只有在你不再操作这个文件的时候才调用它,它会自动保存文件。回写缓冲区会在保持文件打开的情况下保存文件, 所以只要有必要就使用它。回写看起来像另一次输出, 然后调用方法关闭。像这样:

种英语时态的用法

本专题为大家讲解了16种英语时态的用法,为大家总结了英语时态表,方便同学们更好的英语时态的结构. 英语的基本时态由三种“时”(时间),四种“态”(状态)交叉构成。 三种“时”:过去现在将来 四种“态”:常态进行态完成态完成进行态 一般时进行 时完成时完成进行时 现在 study be studying have studied have been studying 过去 studied be studying had studied had been studying 将来 will study wil be studying will have studied will have been studying 过去将来would study would be studying would have studied would have been studying

时态(Tense)是表示行为、动作和状态在各种时间条件下的动词形式。因此,当我们说时态结构的时候,指的是相应时态下的动词形式。 Ⅰ现在时态:四种 1.一般现在时态:表示现存的状态(be动词),经常做的动作 I do it. 我(经常)做这件事。 2.现在进行时态:表示正在进行的动作 I am doing it. 我(现在)正在做这件事。 3.现在完成时态:表示现在已经完成,对现在产生影响,形成结果 I have done it. 我(现在)已经做完这件事了。 4.现在完成进行时态:表示一直在进行的动作(字面意思已经在进行) I have been doing it. 我(现在)一直正在做这件事。 Ⅱ过去时态:四种 5.一般过去时态:表示过去存在的状态(be动词),经常做的动作 I did it. 我(过去经常)做这件事。 6.过去进行时态:表示过去正在进行的动作 I was doing it. 我(过去的某个时间)正在做这件事。 7.过去完成时态:表示过去已经完成,对过去的某个时间产生影响,形成结果 I had done it. 我(过去的某个时间)已经做完这件事了。 8.过去完成进行时态:表示一直在进行的动作(字面意思已经在进行) I had been doing it. 我(到过去的某个时间)一直在做这件事。 Ⅲ 将来时态:四种 9.一般将来时态:表示将来存在的状态(be动词),将来经常做的动作

相关文档
相关文档 最新文档