c 文件输入输出

文章作者 100test 发表时间 2007:03:10 16:54:59
来源 100Test.Com百考试题网


SaveFile.close(). —— 既然我们打开了一个流文件,那么当我们用完它之后,就必须关闭它。SaveFile是ofstream类的一个对象,而该类(ofstream)有一个用于关闭文件的成员函数,即close() 函数。因此,我们只要依次输入文件句柄名,点号和close(),就可以关闭该文件!
 C 中的文件输入/输出(2):读取文件
  读取文件
  你已经看到了应该如何写文件。现在,当我们已经得到cpp-home.txt文件时,我们将要读取它,并且将内容打印在屏幕上。
  首先,我要指出的是,有很多种方法可以读取文件。以后我会向你们介绍所有的方法(就我所知的)。此刻,我先向你展示最佳的方法(我认为的)。
  正如你已经熟悉的——我将首先给出一段程序代码,然后,我会详细地对它进行解释说明:
  #i nclude
  void main() //程序从这里开始
  {
   ifstream OpenFile("cpp-home.txt").
   char ch.
   while(!OpenFile.eof())
   {
   OpenFile.get(ch).
   cout << ch.
   }
   OpenFile.close().
  }
  你想必已经了解首行的意义所在,而剩下的部分将由我为你解释。
  ifstream OpenFile(“cpp-home.txt”) —— 我猜它对现在的你而言多少会熟悉些!ifstream表示“input file stream(输入文件流)”。在前一节的程序中,出现的则是ofstream,它的意义是“output file stream(输出文件流)”。前一节的程序是进行文件的写操作,这就是它用“output(输出)”来表示的原因。而本节的程序则是读取一个文件,这就是它用“input(输入)”来表示的原因。这一行剩下的代码于你而言应当是熟悉的了:OpenFile是ifstream类的一个对象,它将关联一个输入文件流;而用引号括住的内容,就是将要打开的文件的名称。
  请注意:这里没有对要打开的文件是否存在进行测试!以后我将向你指出如何进行检测。
  char ch. —— 声明一个字符数组(array of type char)。只是有一点要提醒你:这样的数组(arrays)只能存储一个ASCII字符。
  while(!OpenFile.eof()) —— 如果已经到达文件末尾,eof( )函数将返回一个非零值。因此我们所设计的这个循环将一直持续,直至我们的文件操作到达文件末尾。这样我们就可以遍历整个文件,以便对它进行读取。
  OpenFile.get(ch). —— OpenFile是类ifstream的一个对象。该类声明了一个名为get( )的成员函数。只要我们拥有该对象,我们自然就可以调用这个函数。get( )函数从相应的流文件中读出一个字符,并将其返回给变量。在本例中,get( )函数只带一个参数——用于存储所读取的字符的变量。所以,调用OpenFile.get(ch)后程序将会从OpenFile流中读取一个字符并存入变量ch中。
  注意:如果你再次调用该函数,它将读取下一个字符,而不是原来的那一个!你过后将理解为什么会这样。
  这就是我们要不断反复循环直至读操作到达文件尾的原因。每循环一次,我们将读出一个字符并将它保存在ch中。
  cout << ch. —— 显示ch变量值,它保存了读取得到的字符。
  File.close(). —— 我们打开了一个流式文件,就需要关闭它。使用close()函数即可将它关闭,这和前一节的一样!
  注意:一旦你关闭了一个文件,在你重新打开它之前,你不能再对它进行访问。
  大功告成了!我希望你能明白我的解释。当你编译并运行这个程序的时候,它应当会输出:
  “Hello World, from www.cpp-home.com and Loobian!”

C 中的文件输入/输出(3):掌握输入/输出流 
  掌握输入/输出流
  在这一章里,我会提及一些有用的函数。我将为你演示如何打开一个可以同时进行读、写操作的文件;此外,我还将为你介绍其它打开文件的方法,以及如何判断打开操作是否成功。因此,请接着往下读!
  到目前为止,我已为你所展示的只是单一的打开文件的途径:要么为读取而打开,要么为写入而打开。但文件还可以以其它方式打开。迄今,你应当已经认识了下面的方法:
  ifstream OpenFile(“cpp-home.txt”).
  噢,这可不是唯一的方法!正如以前所提到的,以上的代码创建一个类ifstream的对象,并将文件的名字传递给它的构造函数。但实际上,还存在有不少的重载的构造函数,它们可以接受不止一个的参数。同时,还有一个open()函数可以做同样的事情。下面是一个以上代码的示例,但它使用了open()函数:
  ifstream OpenFile.
  OpenFile.open(“cpp-home.txt”).
  你会问:它们之间有什么区别吗?哦,我曾做了不少测试,结论是没有区别!只不过如果你要创建一个文件句柄但不想立刻给它指定一个文件名,那么你可以使用 open()函数过后进行指定。顺便再给出一个要使用open()函数的例子:如果你打开一个文件,然后关闭了它,又打算用同一个文件句柄打开另一个文件,这样一来,你将需要使用open()函数。

相关文章


高校等考试题天天练文化基础]10月22日
二级C语言程序第7章函数1
二级C语言程序第6章字符型数据
C 中extern“C”含义深层探索
c 文件输入输出
高校等考试题天天练文化基础]10月20日
二级C语言程序第5章循环结构2
高校等考试题天天练文化基础]10月21日
浙江省高校计算机等级考试-大纲(二级——C语言程序设计大纲)(
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛