关于文件的一些操作
/*今天遇到一些關于文件的知識點
codeblocks16.0里面不支持#include<fstream.h>只有#include<fstream>
使用時要把std包包含在里面(using namespace std),而vc6.0卻不能使用這個包
下面是課件上的一些知識點,以后用到的時候再拿出來看看吧*/
#include <fstream>
void main()
{
ofstream SaveFile("example.txt", ios::ate);//發現ate并不能讀取到文件的尾部進行輸出,還是會把原先的值覆蓋掉 app可以實現尾部輸出
SaveFile << "That's new!\n";
SaveFile.close();
}
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<fstream>
#include<iostream>
using namespace std;
int main( )
{int a[10];ofstream outfile("f1.txt",ios::out); //定義文件流對象,打開磁盤文件"f1.dat"if(!outfile) //如果打開失敗,outfile返回0值{cerr<<"open error! "<<endl;exit(-1);// 頭文件#include <conio.h> #include <stdlib.h>}cout<<"enter 10 integer numbers:"<<endl;for(int i=0;i<10;i++){cin>>a[i];outfile<<a[i]<<" ";} //向磁盤文件"f1.dat"輸出數據outfile.close(); //關閉磁盤文件"f1.dat"return 0;
}
//注意: 在向磁盤文件輸出一個數據后,要輸出一個(或幾個)空格或換行符,以作為數據間的分隔,否則以后從磁盤文件讀數據時,10個整數的數字連成一片無法區分。
//詞讀取
#include <iostream>
#include <fstream>
using namespace std;
int main()
{ifstream inFile; //輸入流對象ofstream outFile; //輸出流對象char ch; //字符變量定義inFile.open("in.txt",ios::in); //將輸入流對象和讀入文件建立關聯,以文本方式打開outFile.open("out.txt",ios::app); //將輸出流對象和輸出文件建立關聯//循環對讀入文件逐個字符進行讀入,然后寫入到輸出文件中while(inFile.get(ch)) //循環到讀入EOF--文件結束標記 string s; inFile>>s;(但是 獨取不到空格,所以也是逐字讀取)//outFile.put(ch); //逐個字符輸出到輸出文件outFile<<ch;outFile<<endl;inFile.close(); //關閉文件outFile.close(); //關閉文件cout<<"Copy from in.txt fo out.txt Finish!"<<endl;return 0;
}
//將一個文件的內容逐行字符串拷貝進第二個文件/
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{ ifstream inFile; //輸入流對象ofstream outFile; //輸出流對象char ch[200]; //字符數組inFile.open("in.txt",ios::in); //將輸入流對象和讀入文件建立關聯,以文本方式打開outFile.open("out.txt",ios::app); //將輸出流對象和輸出文件建立關聯//循環對讀入文件逐行字符串進行讀入,然后寫入到輸出文件中while(!inFile.eof()) //循環讀入每行直到遇到文件結束{inFile.getline(ch,sizeof(ch),'\n');outFile.write(ch,strlen(ch));outFile.write("\n",1); //因為getline設置的是遇到回車結束,因此'\n'讀不進來,因此需要在輸出ch后,再輸出一個'\n'來表示行結束//outFile<<ch<<'\n';可替代上兩句}/*//另一種逐行讀取的方式(可以讀取空格)ifstream inFile( "in.txt" );string s;while (getline(inFile,s)){outFile<<s<<endl;}*/inFile.close(); //關閉文件outFile.close(); //關閉文件cout<<"Copy from in.txt fo out.txt Finish!"<<endl;return 0;
}
總結
- 上一篇: 第八周实践项目10 稀疏矩阵的十字链表
- 下一篇: YTU 1495 蛇行矩阵 YTU 16