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)
ios::app //以追加的模式打开文件
ios::ate //文件打开后定位到文件尾,ios::app就包含此属性
ios::binary //以二进制的方式打开文件,缺省的方式就是文本方式。
ios::in //文件以输入方式打开(文件数据输入到内存)
ios::out //文件以输出方式打开(内存数据输出到文件)
ios::nocreate //不建立文件,所以文件不存在时打开失败
ios::noreplace //不覆盖文件,所以打开文件时 如果文件存在 失败
ios::trunc //如果文件存在,文件长度设为0
状态标识符
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) //设置输出流指针的位置
#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进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。