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与C++简单文件操作比较

为了更加深刻地理解C与C++对文件操作,本文以一个简单的文件读写操作为实例(分别含C和C++源程序),来简单分析一下C与C++在文件操作上的区别。首先,从头文件的角度出发:对于C++,其最大的特点是引...
  • u010485442
  • u010485442
  • 2015年07月16日 10:59
  • 1553

C++文件操作典型案例

案例一:     1.打开文件,显示其中内容     2.向其中追加记录     3.显示追加之后的文件内容         #include         #include      ...
  • X__dream
  • X__dream
  • 2016年01月22日 20:54
  • 853

C 和 C++ 文件操作详解

来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551662.html 来源:http://www.cnblogs.com/likebet...
  • freeking101
  • freeking101
  • 2017年03月09日 16:12
  • 1266

C++ 对文件夹的操作

本篇博客转自:http://www.cnblogs.com/summerRQ/articles/2375749.html 本篇博客主要是讲述C++中怎样遍历文件夹里的内容,包括文件下的子文件...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2015年12月03日 11:00
  • 1410

c++文件操作总结

#define _CRT_SECURE_NO_WARNINGS #include using namespace std; #include "fstream"; class Teacher { p...
  • sjtu_chenchen
  • sjtu_chenchen
  • 2015年09月13日 10:01
  • 635

C/C++文件输入输出操作——FILE*、fstream、windowsAPI

基于C的文件操作  在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。 一、流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在头...
  • xdrt81y
  • xdrt81y
  • 2013年10月21日 18:32
  • 2793

C++文件读写详解

原文地址:http://blog.csdn.net/kingstar158/article/details/6859379/ 在看C++编程思想中,每个练习基本都是使用ofstream,ifstre...
  • tsvico
  • tsvico
  • 2017年05月17日 18:20
  • 391

C++ fstream文件流读写文件操作详解

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(   向流输出数据。比如说系统有一个...
  • u012023801
  • u012023801
  • 2014年10月11日 21:13
  • 9790

C/C++文件操作经验总结

最近在做一个从groundtruth_rect.txt中读取按行存储的矩形元素(x, y, w, h),文本存储的格式如下: 310,102,39,50 308,100,39,50 306,99,3...
  • LG1259156776
  • LG1259156776
  • 2015年07月24日 10:36
  • 1464

C/C++文件操作效率比较——FILE/fstream

利用GetTickTount函数进行效率测试,对比C/C++在读写文本文件和二进制文件时耗时大小,程序执行时间获取方式参见我另一篇C/C++获取程序执行时间的五种方式比较。 电脑配置如下...
  • shudaxia123
  • shudaxia123
  • 2016年01月11日 18:13
  • 1878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++中对文件的一些操作
举报原因:
原因补充:

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