文件操作ofstream,open,close,ifstream,fin,按照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件



1.ofstream,open,close
写入文件

#include<iostream>

#include<fstream>

using
namespace
std;

//通过ofstream的方式实现写入文件
open,close

void
main()

{

ofstream
fout; 
//ofstream输出文件

fout.open("E:\\1.txt");//打开文件

fout <<
"1234abcdef";//写入文件

fout.close();

}

通过这些代码向文件1.txt中输入文件

2.ifstream,fin
从文件中读取文件并打印输出到屏幕

#include<iostream>

#include<fstream>

using
namespace
std;

//通过ifstream流读取文件,并将文件写入str中

void
main()

{

ifstream
fin("E:\\1.txt");//创建读取文件的流

char
str[50] = { 0 };

fin >>
str;//读取

fin.close();

cout <<
str;

cin.get();

}

运行结果是,输出:1234abcdef

3.按照行来读取数据

#include<iostream>

#include<fstream>

using
namespace
std;

//按照行来读取

void
main()

{

//按照行来读取

ifstream
fin("E:\\1.txt");

//读取4行数据

for (int
i = 0;
i < 4;i++)

{

char
str[50] = { 0 };

fin.getline(str,
50);

cout <<
str <<
endl;

}

fin.close();

cin.get();

}

上面结果是输出4行。

4.fout文件输入

#include<iostream>

#include<fstream>

using
namespace
std;

void
main()

{

ofstream
fout;//ofstream.输出文件

fout.open("E:\\2.txt");//打开文件

fout <<
"锄禾日当午"
<< endl;//写入文件

fout <<
"地雷买下土"
<< endl;//写入文件

fout <<
"谭胜来跳舞"
<< endl;//写入文件

fout <<
"炸成250"
<< endl;//写入文件

fout.close();

}

5. fstream,ios::in
| ios::out表示有读写的权限,通过fstream.getline(写入位置,写入长度)。

案例(写入文件又读取文件的方式):

#include<iostream>

#include<fstream>

using
namespace
std;

//通过fstream的方式实现文件读写,要注意的是这种方式要求文件已经存在

void
main()

{

//ios::in | ios::out表示有读写的权限

fstream
fio("E:\\3.txt",
ios::in
| ios::out);

fio <<
"锄禾日当午"
<< endl;//写入文件

fio <<
"地雷买下土"
<< endl;//写入文件

fio <<
"谭胜来跳舞"
<< endl;//写入文件

fio <<
"炸成250"
<< endl;//写入文件

fio.close();

{

fstream
fio("E:\\3.txt",
ios::in
| ios::out);

for (int
i = 0;
i < 4;
i++)

{

char
str[50] = { 0 };

fio.getline(str,
50);

cout <<
str <<
endl;

}

fio.close();

}

cin.get();

}

6.fio.seekg();随机文件指针,将文件指针移动到指定位置开始读写文件

案例如下:

#include<iostream>

#include<fstream>

using
namespace
std;

//通过fstream的方式实现文件读写,要注意的是这种方式要求文件已经存在

void
main()

{

//ios::in | ios::out表示有读写的权限

fstream
fio("E:\\3.txt",
ios::in
| ios::out);

fio <<
"锄禾日当午"
<< endl;//写入文件

fio <<
"地雷买下土"
<< endl;//写入文件

fio <<
"谭胜来跳舞"
<< endl;//写入文件

fio <<
"炸成250"
<< endl;//写入文件

fio.close();

fio.seekg(ios::beg);
//文件指针,从文件开头开始执行

{

fstream
fio("E:\\3.txt",
ios::in
| ios::out);

for (int
i = 0;
i < 4;
i++)

{

char
str[50] = { 0 };

fio.getline(str,
50);

cout <<
str <<
endl;

}

fio.close();

}

cin.get();

}

7.文件写入和文件读写

#include<iostream>

#include<fstream>

using
namespace
std;

void
main()

{

ofstream
fout;

fout.open("E:\\4.txt");

//将内容打印到文件

fout <<
"ABC" <<
" " << 123 <<
" " <<
‘ch‘ <<
endl;

fout.close();

ifstream
fin("E:\\4.txt");

char
str[10] = { 0 };//读取字符串

int
num = 0;

char
ch =
‘\0‘;

fin >>
str >>
num >>
ch;

std::cout
<< str <<
"\n" <<
num <<
"\n" <<
ch;

std::cin.get();

}

运行结果:

ABC

123

8.文件拷贝

#include<iostream>

#include<fstream>

using
namespace
std;

//读写一个字符

//文本与二进制存储

void
main()

{

ifstream
fin("E:\\4.txt");//创建读取文件的流

ofstream
fout("E:\\40.txt");

if (!fin
|| !fout)

{

std::cout
<< "文件打开失败";

return;

}

std::cout
<< "文件拷贝开始\n";

char
ch = 0;

//引用的方法读取到一个字符

while (fout
&& fin.get(ch))

{

fout.put(ch);//写入一个字节

}

fin.close();

fout.close();

std::cout
<< "文件拷贝完成";

cin.get();

}

运行结果:生成了一个40.txt,里面存储的是4.txt中的内容

9.文件追加ios:app

#include<iostream>

#include<fstream>

using
namespace
std;

void
main()

{

ofstream
fout("E:\\40.txt",
ios::app);//追加

fout <<
"天下英雄,谭胜第一\n";

fout.close();

cin.get();

}

发现在40.txt这个文件的最后面多了:天下英雄,谭胜第一

时间: 2024-12-24 07:54:12

文件操作ofstream,open,close,ifstream,fin,按照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件的相关文章

文件操作ofstream,open,close,ifstream,fin,依照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件

 1.ofstream,open,close 写入文件 #include<iostream> #include<fstream> using namespace std; //通过ofstream的方式实现写入文件 open,close void main() { ofstream fout;  //ofstream输出文件 fout.open("E:\\1.txt");//打开文件 fout << "1234abcdef";

C++文件操作详解(ifstream、ofstream、fstream)

C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件(Open a file) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件.被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对

说说Python 中的文件操作 和 目录操作

我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile函数.isdir函数和islink函数来达成我们的目标,如下所示: print myfile, ’是一个’, if os.path.isfile(myfile): print ’plain file’ if os.path.isdir(myfile): print ’directory’ if

MFC文件操作

文件操作:二进制文件和文本文件的区别.二进制文件将数据在内存中存在的模式原封不动的搬到文件中,而文本文件是将数据的asc码搬到文件中.首先做一个读写文件的菜单,在CxxView里响应1.C的方式:fwrite:size:Item size in bytes 每次写多少个字节count:Maximum number of items to be written ,总共写几次. FILE *p;p=fopen("c://1.txt","w");fwrite("

C/C++文件操作2

一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ int bsize; /* Buf

CFile CStdioFile CArchive 文件操作之异同(详细)

两者的主要区别: 一. CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式.    在Binary模式下我们必须输入'\r\n',才能起到回车换行的效果,'\r'只是回车(回到当前行的第一列),'\n'只是换行(到达下一行的当前列). 而在Text模式下'\r'的工作是自动完成的,当我们写一个'\n'的时候,系统会自动帮我们在其前面加上一个'\r',然后保存到文件里.另外,CFile::typeText只能在CFile的子类中使用,CFile自身的R

python 文件操作总结

文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义.按照本人经验,IO也是蛮头疼的一件事,因为不会用得太多,所以总是记不住API,每次都要重新google就会打断思路,还不一定每次都快速得到正确的文章. 本文内容包括: 文件的读写操作 文件的各种系统操作 存储对象 基于字符read & write 最基本的文件操作当然就是在文件中读写数据.这也是很容易掌握的.现在打开一个文件以进行写操作: 1. fileHandle = open ( 'test.txt', 'w'

C语言文件操作函数的编写

 编写文件操作的头文件 /************************************************************************** Copyright(C)    :2014-08-5 toto Filename       :file.h Author          :涂作权 Version         :V1.1 Date            :2014-08-05 Description     :文件操作的头文件 Others  

linux_api之文件操作

本篇索引: 1.引言 2.文件描述符 3.open函数 4.close函数 5.read函数 6.write函数 7.lseek函数 8.i/o效率问题 9.内核用以维护打开文件的相关数据结构 10.O_APPEND标志 11.dup函数(文件描述符重定位函数) 12.有关文件共享的问题 13.fcntl函数 14.ioctl函数         1.引言 1.1.文件io这个词的含义 实现对文件的数据输入(input)和输出(output),所以简称为文件io. 1.2.什么需要文件io 程序