`
ILoveDOUZHOU
  • 浏览: 81119 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用<fstream>库

 
阅读更多

转自于:http://www.vckbase.com/document/viewdoc/?id=1355


文件I/O库很多,如传统的unix中的read(),open();ANSI C的<stdio.h>,fopen,fread()等;MFC有自己的文件处理类。但是很多I/O库很难跨平台使用。
C++中提供了<fstream>,该库提供了高级的自动控制机制。其具体使用方法如下。
1、创建文件流
输入文件流ifstream支持重载的>>操作符,输出文件流ofstream支持重载的<<操作符。下面的程序创建一个ifstream对象 file,并将该对象中的每一个单字显示在屏幕上:
#include<iostream>
#include<string>
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
string s;
cout<<"enter file name:";
cin>>s;
ifstream f(s.c_str());
if(!f) exit(-1);
while(f>>s)
cout<<s<<"\n";
}


fstream对象只接受常量字符串作为文件名。我们不必显示检查EOF,因为重载操作符>>会自动处理。我们也不必显示关闭此文件,因为西沟函数会为我们做这件事。


关于文件的打开模式
如果不显示指定打开模式,fstream类将使用默认值,即ifstream默认以读方式打开文件并将文件指针置为文件的开头。ofstream则默认以写方式打开文件并将文件指针置为文件开头。
<fstream>定义的打开模式和文件属性:
ios::app //从后面添加
ios::ate //打开并找到文件尾
ios::binary //二进制模式打开
ios::in //只读打开
ios::out //写打开
ios::trunc //将文件截为0长度
可使用模式的组合。
如:fstream logfile("Database.dat",ios::in|ios::out);


2、设置文件的位置
可以调用seekp()函数,将文件指针指向该文件的某个偏移位置,该函数以字节为单位。tellp()可以报告新位置。
另可以用下面的常量重新定位文件。
ios::beg
ios::cur
ios::end

3、读写数据
如:fstream logfile("log.dat");
logfile<<teim(0)<<"danny"<<"\n";
logfile.seekp(ios::beg);
logfile>>login>>user;
分享到:
评论

相关推荐

    如何使用 类进行文件的 I/O 处理

    本文将详细介绍如何使用 `&lt;fstream&gt;` 库进行文件的 I/O 处理,并利用它来编写易于跨平台的代码。 #### 传统文件 I/O 库的问题 大多数 C++ 程序员都熟悉多种文件 I/O 库。首先是传统的 Unix 风格的库,它由一些低级...

    使用 <fstream> 类进行文件的 I/O 处理

    传统的文件 I/O 库如 Unix 的 &lt;io.h&gt; 和 &lt;stdio.h&gt; ,由于其程序接口的原因,在很大程度上...C++ 的 &lt;fstream&gt; 库则在文件的 I/O 方面提供了一个增强的、面向对象的、具有国际化意识的库。 希望本例对大家有所帮助!

    vc++2008编译不了#include头文件

    - `&lt;fstream&gt;`:提供文件输入输出流的功能。 - `&lt;iomanip&gt;`:包含格式化输入输出的工具。 - `&lt;ios&gt;`:定义基本的输入输出流类和控制符。 - `&lt;iosfwd&gt;`:声明部分流类的前置声明,用于减少包含其他头文件的开销。 - `...

    fstream的常用用法

    ### fstream 的常用用法详解 #### 一、概述 `&lt;fstream&gt;` 是 C++ 标准库...尽管 `&lt;fstream&gt;` 在某些特定情况下可能不如 `&lt;stdio.h&gt;` 那样高效,但对于大多数日常编程任务而言,`&lt;fstream&gt;` 已经足够强大并且易于使用。

    C++标准库介绍

    * &lt;fstream&gt;:支持文件的流输入输出。 * &lt;iosfwd&gt;:为输入输出对象提供向前的声明。 * &lt;streambuf&gt;:支持流输入和输出的缓存。 * &lt;cstdio&gt;:为标准流提供 C 样式的输入和输出。 * &lt;cwchar&gt;:支持多字节字符的 C...

    c++ 文件操作(fstream)

    #include &lt;fstream&gt; using namespace std; void main(){ ofstream in; in.open("com.txt",ios::trunc); // ios::trunc 表示在打开文件前将文件清空 int i; char a='a'; for(i=1;i&lt;=26;i++){ if(i&lt;10){ in&lt;&lt;...

    vc++库函数及其头文件.pdf

    3. **C++标准库更新**:在C++的发展中,一些C风格的头文件被C++标准库中的新头文件所取代,如`&lt;fstream.h&gt;`替换为`&lt;fstream&gt;`,`&lt;iostream.h&gt;`替换为`&lt;iostream&gt;`,`&lt;strstrea.h&gt;`不再支持,现在使用`&lt;sstream&gt;`中的...

    C函数手册(库函数的介绍及部分应用实例)

    `&lt;fstream.h&gt;`和`&lt;iostream.h&gt;`是C++中的头文件,它们涉及到文件输入输出和数据流操作,C++使用`&lt;fstream&gt;`和`&lt;iostream&gt;`替代了C中的`stdio.h`。`&lt;iomanip.h&gt;`提供了设置输出格式的工具,比如对齐、填充等。`...

    C++ Standard Library Reference.pdf

    wbuffer&gt;、&lt;cvt-wstring&gt;、&lt;cwchar&gt;、&lt;cwctype&gt;、&lt;deque&gt;、&lt;exception&gt;、&lt;filesystem&gt;、&lt;forward_list&gt;、&lt;fstream&gt;等,每一个都定义了一组类、模板、函数或类型别名,用于不同的编程需求。比如&lt;array&gt;提供固定大小...

    C++ 标准库 中文 高清 (2020最新带书签)

    此外,C++标准库还包括了基本类型转换(如`&lt;charconv&gt;`)、容器(如`&lt;deque&gt;`、`&lt;forward_list&gt;`、`&lt;map&gt;`、`&lt;set&gt;`、`&lt;stack&gt;`、`&lt;queue&gt;`、`&lt;unordered_map&gt;`、`&lt;unordered_set&gt;`等)、迭代器、智能指针(如`...

    2011acmpeixun

    `&lt;fstream.h&gt;`处理文件输入输出;`&lt;iomanip.h&gt;`提供了格式化输入输出;`&lt;iostream.h&gt;`是C++中的IO流库;`&lt;limits.h&gt;`定义了各种数据类型的最小和最大值;`&lt;locale.h&gt;`支持本地化功能;`&lt;math.h&gt;`提供了数学函数,如...

    C++头文件 (include ××)

    - `&lt;fstream&gt;`:提供了文件输入输出流对象,如`ifstream`和`ofstream`。 - `&lt;sstream&gt;`:提供了字符串流对象,如`istringstream`和`ostringstream`。 - `&lt;iomanip&gt;`:提供了格式化输入输出的操作符。 2. **数学...

    .ini文件解析器(C++ 标准库实现)

    纯C++标准库实现,仅用到了&lt;fstream&gt;&lt;map&gt;&lt;list&gt;&lt;string&gt;,这些标准库,没有在Linux下测试过。(简易实现,代码部分仅6K,全采用string类型) /* .ini 文件 解析器【只能读取】 Section和Key只能为字母、数字、...

    ofstream,ifstream,fstream读写文件

    ofstream, ifstream, 和 fstream 是C++标准库中的三个核心文件流类,它们属于 `&lt;fstream&gt;` 头文件,用于实现对磁盘文件的读写操作。这三个类是IO流库的一部分,它们提供了方便的接口来处理输入/输出操作。 ofstream...

    VC++头文件.docx

    4. `&lt;cerrno&gt;`、`&lt;clocale&gt;`、`&lt;cmath&gt;`、`&lt;complex&gt;`、`&lt;cstdio&gt;`、`&lt;cstdlib&gt;`、`&lt;cstring&gt;`、`&lt;ctime&gt;`:分别对应C库中的错误码、本地化、复数、输入/输出、数学、通用输入/输出、内存管理和时间处理。...

    C++头文件一览(Word格式)

    - `&lt;iostream&gt;`和`&lt;fstream&gt;`等标准库头文件经常用到`#include`预处理器指令来引入。 - `&lt;cassert&gt;`:包含断言宏`assert`,用于调试。 - `&lt;cstdio&gt;`(或旧版的`&lt;stdio.h&gt;`):包含C风格的I/O函数,如`printf`和`...

    C++头文件含义

    在C++11及更高版本中,应使用`&lt;fstream&gt;`。 6. `&lt;iomanip.h&gt;`:提供了一组操纵符,如`setw()`, `setprecision()`,用于控制流的格式。 7. `&lt;iostream.h&gt;`:包含输入/输出流的基本类,如`cin`, `cout`, `cerr`等。 ...

    C/C++头文件打圈

    - `&lt;fstream.h&gt;`:旧式的C++文件I/O头文件,现代C++中使用`&lt;fstream&gt;`替代。 - `&lt;iomanip.h&gt;`:提供参数化的I/O操作,如设置宽度、精度等。 - `&lt;iostream.h&gt;`:包含基本的数据流输入/输出,如`cin`和`cout`。 - ...

    CC++程序设计语言之常用头文件及函数汇总-13页精选文档.pdf

    - `&lt;cerrno&gt;`:错误码,与`&lt;cerr&gt;`结合使用。 - `&lt;cfloat&gt;`:浮点数常量,与`&lt;float.h&gt;`类似。 - `&lt;ciso646&gt;`:C++中的异构操作符等价词。 - `&lt;climits&gt;`:C++的整型限制,类似于`&lt;limits.h&gt;`。 - `&lt;clocale&gt;`...

    C++基础:怎样判断某一文件是否存在.doc

    本文将详细介绍两种常用的方法来判断文件或文件夹的存在性:一是使用`&lt;fstream&gt;`库中的流对象方法,二是通过C语言提供的`access`函数。 #### 方法一:使用`&lt;fstream&gt;`库中的流对象方法 这种方法适用于C++,其基本...

Global site tag (gtag.js) - Google Analytics