C++中对txt文件的读写操作

最近在做颜色校正部分的操作,发现对C++文件的读写遗忘了,特记于此;该程序是实现对txt文件的写入与读出;这是初级的写法,有时间在搞一下高级写法;注意最后别忘了close掉打开的文件!

程序如下:

// test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<iomanip>
#include<string>
using namespace std;
#define ARRAYLENTH 65536
int _tmain(int argc, _TCHAR* argv[])

 int j=0;
 float  temTable[ARRAYLENTH]={0};//此数组用于从程序写入到其他本文文件如txt中;
 for (int i=0;i < ARRAYLENTH;i++)
 {
  temTable[i]=i/65536.0;
 }
 cout << "*******************************" << endl;
 for (int i=0;i<ARRAYLENTH;i++)
 { 
  if((i%8)==0) cout << endl;
  cout << temTable[i] << " " ;
 }
 //////////////////////////////////////////////////////////////////////
 //////文件的写操作(由程序到文件)//BEGIN
 //////////////////////////////////////////////////////////////////////
 ofstream outfile ;
 outfile.open("d:\\temTable.txt");
 int m=0;
 if(outfile.is_open()) 
 { 
  for (int i=0;i<ARRAYLENTH;i++)
  {
  outfile<<temTable[i]<<" "; //temTable是程序中处理的数据 
  if(m<7)
  {   
    m++;
  }
  else
  {
    m= 0;
    outfile << endl;
  }
  }
  outfile.close(); 
 }
 else 
 { 
  cout<<"不能打开文件!"<< endl; 
 }
 ///////END//////////////////////////////////////////////////////////// 
 //////////////////////////////////////////////////////////////////////
 //////文件的读操作(由文件到程序)//BEGIN
 //////////////////////////////////////////////////////////////////////
 ifstream infile;
 infile.open("d:\\temTable.txt");
 int SrcTable[ARRAYLENTH]={0};//此数组用于将文件中的内容读入到程序中,存放存储文本的内容;
 //
 // for (int k=0;k<ARRAYLENTH;k++)
 // {
 //  cout << SrcTable[k]  << "*" ;
 //
 // }
 // while (!infile.eof() && n < ARRAYLENTH ) 
 //  { 
 //    infile.getline(buffer,4); 
 //    sscanf(buffer,"%d",&a); 
 //    cout<<a<<" "<< endl; 
 //    SrcTable[n]=a; 
 //    n++; 
 //  } 
 for(int i=0;i<ARRAYLENTH;i++) 
  infile>>SrcTable[i];
 infile.close(); 
 ////////////////////END//////////////////////////////////////////////////
 cout << endl;
 cout << "********* I am a beautiful line  of broad **********" << endl;
 for (int k=0;k<ARRAYLENTH;k++)
 {
  if((k%8)==0) cout << endl;
  cout << SrcTable[k]  << " " ;
 }
 return 0;
}

C++ 设计新思维》 下载见

C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码

读C++ Primer 之构造函数陷阱

读C++ Primer 之智能指针

读C++ Primer 之句柄类

C语言梳理一下,分布在以下10个章节中:

Linux-C成长之路(一):Linux下C编程概要

Linux-C成长之路(二):基本数据类型

Linux-C成长之路(三):基本IO函数操作

Linux-C成长之路(四):运算符

Linux-C成长之路(五):控制流

Linux-C成长之路(六):函数要义

Linux-C成长之路(七):数组与指针

Linux-C成长之路(八):存储类,动态内存

Linux-C成长之路(九):复合数据类型

Linux-C成长之路(十):其他高级议题

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ad74efc0359c9ca07048793b17d37d77.html