C++简单读写文本文件


fstream 提供了三个类,用来实现 c++对文件的操作。(文件的创建、读、写)。 ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in 读 ios::out 写 ios::app 从文件末尾开始写 ios::binary 二进制模式 ios::nocreate 打开一个文件时,如果文件不存在,不创建文件。 ios::noreplace 打开一个文件时,如果文件不存在,创建该文件 ios::trunc 打开一个文件,然后清空内容 ios::ate 打开一个文件时,将位置移动到文件尾 文件指针位置在 c++中的用法: ios::beg 文件头 ios::end 文件尾 ios::cur 当前位置 例子: file.seekg(0,ios::beg); //让文件指针定位到文件开头 file.seekg(0,ios::end); //让文件指针定位到文件末尾 file.seekg(10,ios::cur); //让文件指针从当前位置向文件末方向移动 10 个字节 file.seekg(-10,ios::cur); //让文件指针从当前位置向文件开始方向移动 10 个字节 file.seekg(10,ios::beg); //让文件指针定位到离文件开头 10 个字节的位置 常用的错误判断方法: good() 如果文件打开成功 bad() 打开文件时发生错误 eof() 到达文件尾 实例: 一、写入文件 #include #include using namespace std; void main() { ofstream in; in.open("com.txt",ios::trunc); //ios::trunc 表示在打开文件前将文件清空,由于是写入,文件不存在则创 建 int i; char a='a'; for(i=1;i<=26;i++)//将 26 个数字及英文字母写入文件 { if(i<10) { in<<"0"< #include using namespace std; void main() { char buffer[256]; fstream out; out.open("com.txt",ios::in); cout<<"com.txt"<<" 的内容如下:"< #include using namespace std; void main() { fstream in; char c; in.open("comn.txt",ios::in); while(!in.eof()) { in>>c; cout< #include #include using namespace std; int CountLines(char *filename) { ifstream ReadFile; int n=0; string tmp; ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件 if(ReadFile.fail())//文件打开失败:返回 0 { return 0; } else//文件存在 { while(getline(ReadFile,tmp)) { n++; } return n; } ReadFile.close(); } string ReadLine(char *filename,int line) { int lines,i=0; string temp; fstream file; file.open(filename,ios::in); lines=CountLines(filename); if(line<=0) { return "Error 1: 行数错误,不能为 0 或负数。"; } if(file.fail()) { return "Error 2: 文件不存在。"; } if(line>lines) { return "Error 3: 行数超出文件长度。"; } while(getline(file,temp)&&i>filename; cout<<"\n 请输入要读取的行数:"<>l; cout< #include using namespace std; int CountLines(char *filename) { ifstream ReadFile; int n=0; char line[512]; ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件 if(ReadFile.fail())//文件打开失败:返回 0 { return 0; } else//文件存在 { while(!ReadFile.eof()) { ReadFile.getline(line,512,'\n'); n++; } return n; } ReadFile.close(); } void main() { cout<<"comn.txt 的行数为: "< #include #include using namespace std; int CountLines(char *filename) { ifstream ReadFile; int n=0; char line[512]; string temp; ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件 if(ReadFile.fail())//文件打开失败:返回 0 { return 0; } else//文件存在 { while(getline(ReadFile,temp)) { n++; } return n; } ReadFile.close(); } void main() { cout<<"comn.txt 的行数为: "< #include #include using namespace std; int CountLines(char *filename)//获取文件的行数 { ifstream ReadFile; int n=0; string temp; ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件 if(ReadFile.fail())//文件打开失败:返回 0 { return 0; } else//文件存在,返回文件行数 { while(getline(ReadFile,temp)) { n++; } return n; } ReadFile.close(); } void main() { ifstream file; int LINES; char filename[512]; cout<<"请输入要打开的文件名:"<>filename; file.open(filename,ios::in); if(file.fail()) { cout<<"文件不存在."<>tc[i]; file>>t[i]; i++; } file.close(); //关闭文件 for(i=0;i
还剩10页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

liguiquan

贡献于2011-12-10

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf