C++读写txt文件

来源:互联网 发布:广东动易软件 编辑:程序博客网 时间:2024/06/14 01:24

本文主要介绍:C++利用ifstream和ofstream函数读写txt文件,包含矩阵以及字符串的读写。

说明:

        需要添加的头文件有:   #include<sstream>     

                                                    #include<iostream>    

                                                    #include<fstream>     

                                                    #include<string>

        同时需要添加命名空间:using namespace std;

一、读取矩阵

有时txt存储的是矩阵元素,如果矩阵元素之间是以空格为间隔,可以用以下程序读取:

ifstream infile;//定义文件变量infile.open(txtPath,ios::in);//打开txtPath为文件路径if(!infile){AfxMessageBox("读取txt文件失败!");return FALSE;}string temp,temp2mat;//定义中间变量while(getline(infile,temp)) //读取一行,while循环,直到文件最后一行{istringstream LineBand(temp);//转化成数据流while(LineBand>>temp2mat) //依次输出一个数给temp2mat,直到该行最后一个数{int Value = atoi(temp2mat.data());//将temp2mat由字符转化成整型,如果是浮点数,atoi改成atof}}infile.close();//关闭文件
二、输出矩阵

ofstream outfile;//定义文件变量outfile.open(OutPath,ios::out); //创建文件,OutPath为创建txt路径if(!outfile){AfxMessageBox("创建txt文件失败!");return FALSE;}for(i=0;i<LineNum;i++)//依次写入每行,LineNum要写的行的个数{for(j=0;j<RowNum;j++)//依次写入数字,以空格为间隔,RowNum该行的数字个数outfile<<x<<" "; //以空格为间隔写数xoutfile<<"\n"; //写完一行换行}outfile.close();//关闭文件


:有时候可能一次写完之后,希望下次接着写上次的写,此时只需要修改打开文件的类型: outfile.open(OutPath,ios::out | ios::app); //ios::app  在文件尾追加

相关其他类型可参考博客:http://www.cnblogs.com/zhcncn/archive/2013/01/08/2851656.html

三、读取字符串

可以读取字符串,也可以是汉字。

ifstream infile; //定义文件infile.open(inPath,ios::in);//inPath txt路径if(!infile){AfxMessageBox("读取特征文件失败!");return ;}string temp;char str[64]; CString str2;while(getline(infile,temp)) //依次读取一行,直到文件结束{memset(str, '\0', sizeof(str)); //读取结果赋给char*型memcpy(str,temp.c_str(),temp.size());str2 = temp.c_str();  //读取结果赋给CString型}infile.close();//关闭文件

四、写字符串

ofstream outfile;//定义文件变量outfile.open(inPath,ios::out); //创建文件,OutPath为创建txt路径if(!outfile){AfxMessageBox("创建txt文件失败!");return ;}int LineNum =1; //写的行数char str[] = "txt";CString str2 = "你好";for(int i=0;i<LineNum;i++)//依次写入每行,LineNum要写的行的个数{outfile<<str;outfile<<"\n"; //写str字符串outfile<<str2;outfile<<"\n"; //写CString字符串}outfile.close();//关闭文件




0 0
原创粉丝点击