fstream用法,C fstream类

1 , C fstream类ifstream f("c:\\1.txt");//以输入方式打开文件 int i;f>>i;char a;f>>a;float b;f>>b;或者f>>>b;
2,怎么使用fstream进行文件输入输出操作加上这句就对了:file.seekp( 0, ios::beg );file << "world" ; 或者file.seekp( 0, ios::end ); //在后面写,不覆盖hello"d:\\program files\\microsoft visual studio\\sue\\sue.dat"; 这里都要用\\来代替\,因为\是段落连接号 , 用来连接上下行语句的
3,fstream怎么用#include &lt;iostream&gt;#include &lt;fstream&gt;using namespace std;void main() float x,y,z; int k; ifstream indata; ofstream outdata;indata.open("in.dat"); if(!indata)cout&lt;&lt;"can not open the file:in.dat"&lt;&lt;endl; return; } indata&gt;&gt;x&gt;&gt;y&gt;&gt;z; indata&gt;&gt;k; outdata.open("out.dat"); if(!outdata)cout&lt;&lt;"can not open the file :out.dat"&lt;&lt;endl; return; } outdata&lt;&lt;x&lt;&lt;" "&lt;&lt;y&lt;&lt;endl; outdata&lt;&lt;z&lt;&lt;" "&lt;&lt;k&lt;&lt;endl; indata.close(); outdata.close();}【fstream用法,C fstream类】
4 , fstream怎么用#include <iostream>#include <fstream>using namespace std;void main()float x,y,z;intk;ifstream indata;ofstream outdata;indata.open("in.dat");if(!indata)cout<<"can not open the file:in.dat"<<endl;return;}indata>>x>>y>>z;indata>>k;outdata.open("out.dat");if(!outdata)cout<<"can not open the file :out.dat"<<endl;return;}outdata<<x<<" "<<y<<endl;outdata<<z<<" "<<k<<endl;indata.close();outdata.close();}#include // 对文件进行操作 #include using namespace std; int main() { string str; ifstream infile("f1.txt",ios::in);// 对文件进行读取操作 , 将f1.txt中的数据读到ifstream文件输入流中 infile>>str;// 用str读出文件输入流中的一个数据 inflie.close();// 关闭文件读取流 string str2="input"; ofstream outfile("f2.txt",ios::out);// 对文件进行写入操作 , 将当前文件流中的数据写入到f2.txt中 outfile这种问题多上网搜索答案http://www.cppblog.com/saga/archive/2007/06/19/26652.html5,急求 C fstream 的 使用方法为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的 。) 。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你 。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O操作 。如果你猜是"fstream," 恭喜你答对了! 但这篇文章介绍的方法,我们分别使用"ifstream"?和 "ofstream" 来作输入输出 。如果你用过标准控制台流"cin"?和 "cout," 那现在的事情对你来说很简单 。我们现在开始讲输出部分,首先声明一个类对象 。ofstream fout; 这就可以了,不过你要打开一个文件的话, 必须像这样调用ofstream::open() 。fout.open("output.txt"); 你也可以把文件名作为构造参数来打开一个文件. ofstream fout("output.txt"); 这是我们使用的方法, 因为这样创建和打开一个文件看起来更简单. 顺便说一句, 如果你要打开的文件不存在,它会为你创建一个, 所以不用担心文件创建的问题. 现在就输出到文件,看起来和"cout"的操作很像 。对不了解控制台输出"cout"的人, 这里有个例子 。int num = 150; char name[] = "John Doe"; fout << "Here is a number: " << num << "\n"; fout << "Now here is a string: " << name << "\n"; 现在保存文件,你必须关闭文件,或者回写文件缓冲. 文件关闭之后就不能再操作了, 所以只有在你不再操作这个文件的时候才调用它,它会自动保存文件 。回写缓冲区会在保持文件打开的情况下保存文件, 所以只要有必要就使用它 。回写看起来像另一次输出, 然后调用方法关闭 。像这样: fout << flush; fout.close(); 现在你用文本编辑器打开文件 , 内容看起来是这样: Here is a number: 150 Now here is a string: John Doe 很简单吧! 现在继续文件输入, 需要一点技巧, 所以先确认你已经明白了流操作,对 "<<" 和">>" 比较熟悉了, 因为你接下来还要用到他们 。ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O , stream这个类有两个重要的运算符: 1、插入器(<<)向流输出数据 。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器 , 所以,cout<<\"Write Stdout\"<<\\n;就表示把字符串\"Write Stdout\"和换行字符(\\n)输出到标准输出流 。2、析取器(>>)从流中输入数据 。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘 , 所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据 。在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以 , 要用这种方式操作文件,就必须加入头文件fstream.h 。下面就把此类的文件操作过程一一道来 。一、打开文件在fstream类中,有一个成员函数open() , 就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); 参数: filename:要打开的文件名 mode:要打开文件的方式 access:打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app:以追加的方式打开文件 ios::ate:文件打开后定位到文件尾 , ios:app就包含有此属性 ios::binary: 以二进制方式打开文件,缺省的方式是文本方式 。两种方式的区别见前文 ios::in:文件以输入方式打开(文件数据输入到内存) ios::out:文件以输出方式打开(内存数据输出到文件) ios::nocreate: 不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc:如果文件存在,把文件长度设为0可以用“或”把以上属性连接起来,如ios::out|ios::binary打开文件的属性取值是: 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件可以用“或”或者“+”把以上属性连接起来,如3或1|2就是以只读和隐含属性打开文件 。例如:以二进制输入方式打开文件c:\\config.sys fstream file1; file1.open(\"c:\\\\config.sys\",ios::binary|ios::in,0);如果open函数只有文件名一个参数 , 则是以读/写普通文件打开,即: file1.open(\"c:\\\\config.sys\"); <=> file1.open(\"c:\\\\config.sys\",ios::in|ios::out,0);另外,fstream还有和open()一样的构造函数,对于上例,在定义的时侯就可以打开文件了: fstream file1(\"c:\\\\config.sys\");特别提出的是,fstream有两个子类:ifstream(input file stream)和ofstream(outpu file stream),ifstream默认以输入方式打开文件,而ofstream默认以输出方式打开文件 。[Page] ifstream file2(\"c:\\\\pdos.def\");//以输入方式打开文件 ofstream file3(\"c:\\\\x.123\");//以输出方式打开文件所以 , 在实际应用中,根据需要的不同,选择不同的类来定义:如果想以输入方式打开,就用ifstream来定义;如果想以输出方式打开 , 就用ofstream来定义;如果想以输入/输出方式来打开,就用fstream来定义 。#include //使用c++中的文件流对象要包含头文件fstream #include #include using namespace std; double file_length(string filename)//写一个函数来取得一个文本文件的长度 { ifstream inobj(filename.c_str());//创建输入文件流象,并初始化 if(!inobj){//文件不存在 cout<<"file open failed.\n"; return -1; } string t = ""; double len = 0; while(!inobj.eof()){//这里是关键 , 如果没有读到文件的结尾 inobj>>t;//把遇到非空格或非回车都当成string读取 len++; } inobj.close(); return len; } bool fwrite(string filename,char * content)//将content写入文件中 { ofstream outobj(filename.c_str());//建立输出文件流对象 if(!outobj){ cout<<"file error.\n"; return false; } string t(content); outobj<>i; fout<<<" "; } fin.close(); fout.close(); } } }

    推荐阅读