fstream 支持<< 和>> 操作符

C语言文件操作

函数fopen()将一个文件一个关联起来。并初始化一个FILE对象这个对象包括一个指向缓冲区指针文件位置指示器,以及指示错误文件结尾情况的标识

#include<stdio.h>
#include<stdbool.h>
_bool isreadwriteable(const char *filename){
FILE *fp=fopen(filename,"r+");//打开一个文件用于读写
if(!fp=null){
fclose(fp);
return true;
}else
return false;
}

C++文件操作

直接对流对象进行操作

fstream foi("........", ios::in|ios::out);

文件的写操作

包括一个

write (const *char message, int size);
#include<fiostream.h>
int main(){
	ofstream out("filename.txt");
    if(out.is_open()){
        out<<"jion in the file.";
        out.close();
    } 
}
文件的读操作
#include<iostream>
#include<fstream.h>
#include<stdlib.h>
int main(){
    char buffer[100];
    ifstream in("filename.txt");
    if(in.is_open()){
        while(in.eof()){
            in.getline(buffer,99);
            cout<<buffer<<endl;
        }
    }
}

open 函数

void open(const char *filename, ios::openmode)

open mode

ios::app		//以追加模式打开文件
ios::ate 		//文件打开定位到文件尾,ios::app包含属性
ios::binary		//以二进制方式打开文件,缺省方式就是文本方式。
ios::in			//文件以输入方式打开(文件数输入内存)
ios::out		//文件以输出方式打开(内存数据输出到文件)
ios::nocreate 	//不建立文件,所以文件不存在时打开失败
ios::noreplace	//不覆盖文件,所以打开文件时 如果文件存在 失败
ios::trunc		//如果文件存在,文件长度设为0

状态标识符

一些验证流的状态的成员函数返回值bool 类型

is_open()		//文件是否打开
bad()			//读写过程是否出错(操作对象没有打开,写入设备没有空间)
fail()			//读写过程是否出错(操作对象没有打开,写入设备没有空间格式错误eof()			//读文件达到文件末尾返回true
good()			//以上任何一个返回true这个返回false

获得和设置指针

//对于所有输入输出流都至少有一个指针指向下一个要操作的位置
ofstream put_point
ifstream get_point

//获取指针位置
tellg()			//获取输入指针位置(return long)
tellp()			//获取输出指针位置

//设置指针位置
seekg(long position) 		//设置输入流指针的位置
seekp(long position)		//设置输出流指针的位置

example:

#include<fstream>

int main(){
    std::ofstream out;
    out.open("hello.txt");
    out<<"hello world";
    long pos=out.tellp();
    out.seekp(pos-3);
    out<<" how beautiful";
    
    out.close();
}
读取文件内容
#include<iostream>
#include<fstream>

int main(){
    std::ifstream in;
    in.open("hello.txt");
    char x =in.get();//也可以getline() 或者 >>
    
    while(in.good()){
        std::cout<<x;
        c=in.get();
    }
    in.close();

}

原文地址:https://blog.csdn.net/weixin_52591952/article/details/127283578

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_48314.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注