`
isiqi
  • 浏览: 16004034 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

fstream IO流类的使用:C++读取文件txt,循环逐行输出(转)

阅读更多

#include <iostream>
#include <iomanip>
#include <fstream>

using namespace std;

int main(){
char buffer[256];
ifstream myfile ("c:\\a.txt");
ofstream outfile("c:\\b.txt");

if(!myfile){
cout << "Unable to open myfile";
exit(1);
// terminate with error

}
if(!outfile){
cout << "Unable to open otfile";
exit(1);
// terminate with error

}
int a,b;
int i=0,j=0;
int data[6][2];
while (! myfile.eof() )
{
myfile.getline (buffer,10);
sscanf(buffer,"%d %d",&a,&b);
cout<<a<<" "<<b<<endl;
data[i][0]=a;
data[i][1]=b;
i++;
}
myfile.close();
for(int k=0;k<i;k++){
outfile<<data[k][0] <<" "<<data[k][1]<<endl;
cout<<data[k][0] <<" "<<data[k][1]<<endl;
}

outfile.close();
return 0;
}

无论读写都要包含<fstream>头文件

读:从外部文件中将数据读到程序中来处理
对于程序来说,是从外部读入数据,因此定义输入流,即定义输入流对象:ifsteam infile,infile就是输入流对象。
这个对象当中存放即将从文件读入的数据流。假设有名字为myfile.txt的文件,存有两行数字数据,具体方法:
int a,b;
ifstream infile;
infile.open("myfile.txt"); //注意文件的路径
infile>>a>>b; //两行数据可以连续读出到变量里
infile.close()

如果是个很大的多行存储的文本型文件可以这么读:
char buf[1024]; //临时保存读取出来的文件内容
string message;
ifstream infile;
infile.open("myfile.js");
if(infile.is_open()) //文件打开成功,说明曾经写入过东西
{
while(infile.good() && !infile.eof())
{
memset(buf,0,1024);
infile.getline(buf,1204);
message = buf;
...... //这里可能对message做一些操作
cout<<message<<endl;
}
infile.close();
}

写:将程序中处理后的数据写到文件当中
对程序来说是将数据写出去,即数据离开程序,因此定义输出流对象ofstream outfile,outfile就是输出流对象,这个对象用来存放将要写到文件当中的数据。具体做法:
ofstream outfile;
outfile.open("myfile.bat"); //myfile.bat是存放数据的文件名
if(outfile.is_open())
{
outfile<<message<<endl; //message是程序中处理的数据
outfile.close();
}
else
{
cout<<"不能打开文件!"<<endl;
}


c++对文件的读写操作的例子

/*/从键盘读入一行字符,把其中的字母依次放在磁盘文件fa2.dat中,再把它从磁盘文件读入程序,
将其中的小写字母改成大写字母,再存入磁盘fa3.dat中*/
#i nclude<fstream>
#i nclude<iostream>
#i nclude<cmath>
using namespace std;
//////////////从键盘上读取字符的函数
void read_save(){
char c[80];
ofstream outfile("f1.dat");//以输出方工打开文件
if(!outfile){
cerr<<"open error!"<<endl;//注意是用的是cerr
exit(1);
}
cin.getline(c,80);//从键盘读入一行字符
for(int i=0;c[i]!=0;i++) //对字符一个一个的处理,直到遇到'/0'为止
if(c[i]>=65&&c[i]<=90||c[i]>=97&&c[i]<=122){//保证输入的字符是字符
outfile.put(c[i]);//将字母字符存入磁盘文件
cout<<c[i]<<"";
}
cout<<endl;
outfile.close();
}
void creat_data(){
char ch;
ifstream infile("f1.dat",ios::in);//以输入的方式打开文件
if(!infile){
cerr<<"open error!"<<endl;
exit(1);
}
ofstream outfile("f3.dat");//定义输出流f3.dat文件
if(!outfile){
cerr<<"open error!"<<endl;
exit(1);
}
while(infile.get(ch)){//当读取字符成功时
if(ch<=122&&ch>=97)
ch=ch-32;
outfile.put(ch);
cout<<ch;
}
cout<<endl;
infile.close();
outfile.close();
}
int main(){
read_save();
creat_data();
system("pause");
return 0;
}

分享到:
评论

相关推荐

    C++实现文件读写操作功能(源码+说明文档).zip

    #include &lt;fstream&gt; 用于文件流操作。 #include &lt;string&gt; 用于处理字符串。 在main函数中,创建了一个std::ifstream对象inputFile,该对象用于读取文件。 使用try-catch块来尝试打开文件example.txt。如果打开文件...

    c++ fstream类详解

    fstream c++ fstream类详解

    c++ 文件操作(fstream)

    c++ 文件操作 fstream ifstream ofstream

    C++操作文件进行读取、删除、修改指定行

    代码如下: /*************************...Description: 文件操作:读取指定行,删除指定行,修改指定行 ********************************************************/ #include #include &lt;fstream&gt; #include &lt;string&gt;

    C++读写txt文本文件

    C++读写txt文件,逐行读取,判断并根据判断条件写至输出文件

    使用 <fstream> 类进行文件的 I/O 处理

    传统的文件 I/O 库如 Unix 的 &lt;io.h&gt; 和 &lt;stdio.h&gt; ,由于其程序接口的原因,在很大程度上...C++ 的 &lt;fstream&gt; 库则在文件的 I/O 方面提供了一个增强的、面向对象的、具有国际化意识的库。 希望本例对大家有所帮助!

    C++中进行txt文件读入和写入的方法示例

    vs里面直接输入数据,这一般常见于简单算法和数据的处理,但是一旦处理大数据的话,几百万,几千万,上亿个数据手打似乎不能轻易实现的,那么这篇文章我们来搞懂C++环境下如何进行io流读取txt文件,其实我们需要一个...

    用C++实现简单的文件IO操作

     为了使用下面的方法, 你必须包含头文件&lt;fstream.h&gt;(译者注:在标准C++中,已经使用&lt;fstream&gt;取 代&lt; fstream.h&gt;,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓 冲的文件输入输出操作. 事实...

    C++流操作之fstream用法介绍

    在Windows平台对文件进行存取操作可选的方案有很多,... fstream有两个派生类,即ifstream和ofstream,分别对应输入文件流、输出文件流。在使用它们之前,必须将它们的头文件包含到你的cpp文件中。创建一个文件流的方

    C++ fstream文件流读 中字符串string与b VB ListView控件各种

    C++ fstream文件流读 中字符串string与b VB ListView控件各种

    C++文件操作 C++ 文件操作

    fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件(Open a file) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流...

    用c++读取txt中的文件显示在电脑上

    将txt中的文字读取到电脑屏幕上 #include #include &lt;fstream&gt; #include #include using namespace std; int main() { fstream file; char name[1000000]; file.open("D:\\myhomework\\数据\\全国各省战斗...

    C++中的文件输入输出

    C++中的文件输入输出,介绍文件的输入和输出,fstream

    C++文件操作详解(详细讲述fstream类的使用)

    讲解文件操作的类fstream 并对ifstream和ofstream一并做讲解

    C++文件读写总结 !!!

    为了使用下面的方法, 你必须包含头文件&lt;fstream.h&gt;(译者注:在标准C++中,已经使用&lt;fstream&gt;取代&lt; fstream.h&gt;,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, ...

    C++Fstream文件流与freopen重定向操作教程

    主要介绍了C++Fstream文件流与freopen重定向教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    C++文件的使用

    由 于对类ofstream, ifstream 和 fstream 的对象所进行的第一个操作通常都是打开文件,这些类都有一个构造函数可以直接调用open 函数,并拥有同样的参数。这样,我们就可以通过以下方式进行与上面同样的定义对象和...

    C++ 日志类(CFile、fstream)

    自己搜集的几款C++ 编写的日志类 写入文件到文件中, 分别有 CFile fstream 类的用法

    如何使用 <fstream> 类进行文件的 I/O 处理

    使用 &lt;fstream&gt; 类进行文件的 I/O 处理 摘要:传统的文件 I/O 库如 Unix 的 &lt;io.h&gt; 和 &lt;stdio.h&gt; ,由于其程序接口的原因,在很大程度上强制程序员进行某些处理,缺乏类型安全和国际化支持。C++ 的 &lt;fstream&gt; 库则在...

    c++对asc码文件的存取操作

    c++中,文件的ASC码形式存储,用fstream 的ifstream和ofstream定义infile和outfile对象,对文件进行操作。

Global site tag (gtag.js) - Google Analytics