美文网首页
C++文件读写

C++文件读写

作者: 正经龙 | 来源:发表于2018-10-09 21:10 被阅读0次

1、 定义数据流对象指针

对文件进行读写操作首先必须要定义一个数据流对象指针,数据流对象指针有三种类型,它们分别是:

  • Ifstream:表示读取文件流,使用的时候必须包含头文件“ifstream”;
  • Ofstream:表示文件写入流,使用的时候必须包含头文件“ofstream”;
  • Fstream:表示文件读取/写入流,使用的时候必须包含头文件“fstream”;

2. 打开文件

使用open函数打开一个文件

void open(const char * filename, ios_base::openmode mode = ios_base::in | ios_base::out);
void open(const wchar_t *_Filename, ios_base::openmode mode = ios_base::in | ios_base::out, int prot = ios_base::_Openprot);
打开文件的模式
[ios::in] [ 为输入(读)而打开文件 ]
[ios::out [为输出(写)而打开文件 ]
[ios::ate] [初始位置:文件尾]
[ios::app] [所有输出附加在文件末尾]
[ios::binary] [二进制方式]
[ios::trunc] [如果文件已存在则先删除该文件]

3. 文件的读写操作

与C++的iostream读入与读出一样,只需要使用流操作符<<与>>就可以实现读出与读入
根据文件的读写状态,共有四个函数可供我们查看当前的读写状态

函数 作用
bad() 如果在读写的过程中出错,返回true
fail() 与bad()差不多,除了在出现错误的时候,在读写的过程中出现格式错误,例如你要读取一个整数却读取了一个字母,返回true
eof() 如果读到了文件末尾,返回true
good() ```这个是最通用的,以上三个函数返回false的话,这个函数返回true
判断读到文件末尾举例
ifstream in;
in.open("1.txt",ios::in);
int a;
while(in>>a){
  if(in.eof())
    break;
  cout<<a;
}

4. 随机文件读写

tellg() 获取当前get指针的位置
tellp() 获取当前put指针的位置
两者返回的都是int值
skeeg(int position) 设置get指针的位置
skeep(int position) 设置put指针的位置

这两种写法是相对于文件开始的绝对位置偏移量

另外还有两种写法
skeeg(int offect, * direction)
skeep(int offect, * direction)

direction是一个具体的指针位置,他们是下图的三种类型

指针 位置
ios::beg 文件开始位置
ios::cur 文件当前位置
ios::end 文件末尾位置

5. 关闭文件

调用close()就可关闭文件

相关文章

  • 2019-03-06 C++二进制文件结构体读取问题

    C与C++的二进制文件读写 参考下面的文章,C/C++读写文本文件、二进制文件 https://blog.csdn...

  • 文件读写总结

    1. C++文件读写详解 1.1. 文件读写操作 使用方式 1.1.1. 打开文件 文件操作通过成员函数open(...

  • c++ 积累

    c++读写文件 写文件 读文件 sudo ln -s /usr/local/cuda-9.1 /usr/local...

  • c++文件读写

    ifstream ifs;连续读写文件时: ifstream 是有状态的对象,一个 ifstream 操作完后一般...

  • C++文件读写

    1、 定义数据流对象指针 对文件进行读写操作首先必须要定义一个数据流对象指针,数据流对象指针有三种类型,它们分别是...

  • c++ 读写文件

    写文件文本 读文件文本 读写二进制文件

  • c++文件读写

    c++的文件读写,其实要导入一个新的头文件,差不多每实现一个新的功能就要导入一个新的头文件,从这个角度来看,还是现...

  • C++ 读写文件

    文件操作 文本文件 写文件 读文件 接下来我们看下用string来进行读文件 第四种是每个字符进行操作

  • C++文件读写

    欲对文件进行读写操作,首先得包含fstream[https://www.jianshu.com/writer]头文...

  • c++ 读写文件

    引用原文址[https://blog.csdn.net/mengsuifengc/article/details/...

网友评论

      本文标题:C++文件读写

      本文链接:https://www.haomeiwen.com/subject/yabyaftx.html