c++中对文件的一些操作

转载 2012年03月26日 18:02:18
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <fstream>

  4. using namespace std;

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

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

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

  16. }
  17. int a,b;
  18. int i=0,j=0;
  19. int data[6][2];
  20.   while (! myfile.eof() )
  21.   {
  22.     myfile.getline (buffer,10);
  23.     sscanf(buffer,"%d %d",&a,&b);
  24.     cout<<a<<" "<<b<<endl;
  25.     data[i][0]=a;
  26.     data[i][1]=b;
  27.     i++;
  28.   }
  29. myfile.close();
  30.   for(int k=0;k<i;k++){
  31.      outfile<<data[k][0] <<" "<<data[k][1]<<endl;
  32.      cout<<data[k][0] <<" "<<data[k][1]<<endl;
  33.   }

  34. outfile.close();
  35. return 0;
  36. }
复制代码
无论读写都要包含<fstream>头文件

读:从外部文件中将数据读到程序中来处理

对于程序来说,是从外部读入数据,因此定义输入流,即定义输入流对象:ifsteam infile,infile就是输入流对象。

这个对象当中存放即将从文件读入的数据流。假设有名字为myfile.txt的文件,存有两行数字数据,具体方法:
  1. int a,b;
  2. ifstream infile;
  3. infile.open("myfile.txt");      //注意文件的路径
  4. infile>>a>>b;                   //两行数据可以连续读出到变量里
  5. infile.close()
复制代码
如果是个很大的多行存储的文本型文件可以这么读:
  1. char buf[1024];                //临时保存读取出来的文件内容
  2. string message;
  3. ifstream infile;
  4. infile.open("myfile.js");
  5. if(infile.is_open())          //文件打开成功,说明曾经写入过东西
  6. {
  7. while(infile.good() && !infile.eof())
  8. {
  9.    memset(buf,0,1024);
  10.    infile.getline(buf,1204);
  11.    message = buf;
  12.    ......                     //这里可能对message做一些操作
  13.    cout<<message<<endl;
  14. }
  15. infile.close();
  16. }
复制代码
写:将程序中处理后的数据写到文件当中
对程序来说是将数据写出去,即数据离开程序,因此定义输出流对象ofstream outfile,outfile就是输出流对象,这个对象用来存放将要写到文件当中的数据。具体做法:
  1. ofstream outfile;
  2. outfile.open("myfile.bat");  //myfile.bat是存放数据的文件名
  3. if(outfile.is_open())
  4. {
  5.   outfile<<message<<endl;    //message是程序中处理的数据
  6.   outfile.close();
  7. }
  8. else
  9. {
  10.   cout<<"不能打开文件!"<<endl;
  11. }
复制代码

相关文章推荐

文件操作c++

  • 2014年09月10日 23:05
  • 275B
  • 下载

C·C++实现文件操作

  • 2014年03月20日 22:36
  • 2.7MB
  • 下载

C++对二进制文件的读写操作

二进制文件不是以ASCII代码存放数据的,它将内存中数据存储形式不加转换地传送到磁盘文件,因此它又称为内存数据的映像文件。因为文件中的信息不是字符数据,而是字节中的二进制形式的信息,因此它又称为字节文...
  • njuzg
  • njuzg
  • 2014年12月27日 23:15
  • 1214

C++文件操作编程教程

  • 2014年04月18日 16:15
  • 274KB
  • 下载

C++文件操作

  • 2008年04月05日 10:38
  • 49KB
  • 下载

C++(笔记)文件操作练习(流类库与输入输出)

1、什么叫做流?流的提取和插入是指什么?I/O流在C++中起着怎样的作用? 解: 流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动,一般意义下的读操作在流数据...
  • w_linux
  • w_linux
  • 2017年05月28日 16:38
  • 1079

基于Visual C++6.0的声音文件操作

  • 2008年04月16日 15:02
  • 55KB
  • 下载

文件操作与模板编程题 #1(C++程序设计第7周)

问题描述实现一个三维数组模版CArray3D,可以用来生成元素为任意类型变量的三维数组,使得下面程序输出结果是:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,...

C++ 的各种文件读写操作总结

  • 2012年09月15日 11:17
  • 76KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++中对文件的一些操作
举报原因:
原因补充:

(最多只允许输入30个字)