C++实现读写文件的示例代码

1.读取

1.1逐行读取

void readTxt(string file)
{
  ifstream ifs;
  ifs.open(file);  			//将文件流对象与文件关联起来,如果已经关联则调用失败
  assert(ifs.is_open());  	//若失败,则输出错误消息,并终止程序运行

  string s;
  while(getline(ifs,s))		//行分隔符可以显示指定,比如按照分号分隔getline(infile,s,';')
  {
    cout<<s<<endl;
  }
  ifs.close();       	//关闭文件输入流
}

1.2逐字符读取

void readTxt(string file)
{
  ifstream ifs;
  ifs.open(file.data()); 	//将文件流对象与文件连接起来
  assert(ifs.is_open());  	//若失败,则输出错误消息,并终止程序运行 

  char c;
  ifs >> std::noskipws;		//清除skipws标识,不忽略空白符(Tab、空格、回车和换行)
  while (!infile.eof())
  {
    infile>>c;
    cout<<c<<endl;

  }
  infile.close();     	//关闭文件输入流
}

2.写入

2.1逐行追加

void writeLineToTxt(string file,string line)
{
	ofstream ofs(file,ios::out|ios::app);	//以输出追加方式打开文件,不存在则创建
  assert(ofs.is_open());  				//若失败,则输出错误消息,并终止程序运行
	ofs<<line<<endl;						//写入一行
	ofs.close();
}

2.2逐字符追加

void writeCharToTxt(string file,char c)
{
	ofstream ofs(file,ios::out|ios::app);	//以输出追加方式打开文件,不存在则创建
  assert(ofs.is_open());  				//若失败,则输出错误消息,并终止程序运行
	ofs<<c;									//写入一个字符
	ofs.close();
}

2.3偏移指定字节写入

void writeToTxtOffset(string file, int offset, string content)
{
	ofstream ofs(file, ios::out | ios::in);			//以不清空方式打开文件,不存在则创建。注意:不要使用ios::app模式打开,因为一定写在后面,seekp也无效
	assert(ofs.is_open());  						//若失败,则输出错误消息,并终止程序运行
	ofs.seekp(offset, ios::beg);					//从流开始位置偏移
	ofs << content;									//写入内容
	ofs.close();
}

3.验证

#include <assert.h>
#include <iostream>
#include <fstream>
#include <string>

int main()
{

	writeCharToTxt("D:\\test.txt",'v');
	writeToTxtOffset("D:\\test.txt",1,"dablelv");	//注意Windows环境下文件路径使用双反斜杠表示
}

文件D:\test.txt中内容如下:

vdablelv

以上就是C++实现读写文件的示例代码的详细内容,更多关于C++实现读写文件的资料请关注我们其它相关文章!

(0)

相关推荐

  • C++ I/O文件读写操作的示例代码

    IO: 向设备输入数据和输出数据C++的IO流 c++中,必须通过特定的已经定义好的类, 来处理IO(输入输出) 文件流: 对文件进行读写操作 头文件: 类库: ifstream 对文件输入(读文件) ofstream 对文件输出(写文件) fstream 对文件输入或输出 //写文件 #include <fstream> #include <iostream> #include <string> using namespace std; int main() { st

  • C++读写INI配置文件的类实例

    本文实例讲述了C++读写INI配置文件的类.分享给大家供大家参考.具体如下: 1. IniReader.h文件: #ifndef INIREADER_H #define INIREADER_H #include <windows.h> class CIniReader { public: CIniReader(LPCTSTR szFileName); int ReadInteger(LPCTSTR szSection, LPCTSTR szKey, int iDefaultValue); fl

  • C++中读写txt文件并分离字符的方法

    在实际工程中,经常遇到需要读取txt文件,txt文件中存的是一些小数或者整型数据,在C++中,可以利用string类和ifstream库文件对txt进行的读取,不过读回的数据经常是以字符串的形式返回,一般是txt的一行为一个字符串返回.那么如何从字符串中分离出整数或者是小数就涉及到字符串的分割问题,下面就该问题进行总结. 一.C++中txt文件的读取 需要读取的txt文件如下: 代码如下: #include<iostream> #include<string> #include&l

  • C++ 读写文件安全又简洁的简单实例

    C++ 读写文件安全又简洁的简单实例 实例代码: #include <string> #include <iostream> #include <fstream> using namespace std; int get_file_content(string sFileName, string& sFileContent); int main(int argc, char* argv[]) { string sFileContent; get_file_con

  • C++读写ini配置文件实现过程详解

    在Windows的VC下 读ini文件 例如:在D:\test.ini文件中 [Font] name=宋体 size= 12pt color = RGB(255,0,0) 上面的=号两边可以加空格,也可以不加 用GetPrivateProfileInt()和GetPrivateProfileString() [section] key=string . . 获取integer UINT GetPrivateProfileInt( LPCTSTR lpAppName, // section nam

  • C++读写.mat文件的方法

    最近在编写C++程序的过程中,需要使用matlab生成的.mat文件,于是查找了基本使用方法. 我的计算机环境是win7 64位系统,VS2010,matlab R2010b. 一.工程配置:  1.VC++目录->包含目录 添加:  MATLAB\R2010b\extern\include  MATLAB\R2010b\extern\include\win64   ->库目录 添加:    MATLAB\R2010b\extern\lib\win64\microsoft    MATLAB\

  • C++中简单读写文本文件的实现方法

    代码如下所示: 复制代码 代码如下: #include "stdafx.h"#include <iostream>#include <fstream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ //写入文件 ofstream ofs;  //提供写文件的功能 ofs.open("d:\\com.txt",ios::trunc); //trunc打开文件时,清空已存在的文件

  • c++读写文件流实例程序讲解

    掌握文本文件读写的方法了解二进制文件的读写方法 C++文件流: 复制代码 代码如下: fstream // 文件流ifstream // 输入文件流ofstream // 输出文件流 //创建一个文本文件并写入信息//同向屏幕上输出信息一样将信息输出至文件#include<iomanip.h>#include<fstream.h>void main(){ ofstream f1("d:\\me.txt"); //打开文件用于写,若文件不存在就创建它 if(!f1

  • C/C++读写文本文件、二进制文件的方法

    一:目的 掌握C语言文本文件读写方式: 掌握C语言二进制文件读写方式: 掌握CPP文本文件读写方式: 掌握CPP二进制文件读写方式: 二:C语言文本文件读写 1. 文本文件写入 //采用C模式对Txt进行写出 void TxtWrite_Cmode() { //准备数据 int index[50] ; double x_pos[50], y_pos[50]; for(int i = 0; i < 50; i ++ ) { index[i] = i; x_pos[i] = rand()%1000

  • C++文件读写代码分享

    编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写到data1.txt文件中. 算法提示: 行与行之间以回车符分隔,而getline()函数以回车符作为终止符.因此,可以采用getline()函数读取每一行,再用一个变量i计算行数. (1)实现源代码 #include <iostream> #include <fstream> #include <string> #include <sstream> using namespace std

随机推荐