本文給大家分享的是2個C++實現文件讀寫的代碼,都非常的簡單實用,有需要的小伙伴可以參考下。
編寫一個程序,統計data.txt文件的行數,并將所有行前加上行號后寫到data1.txt文件中。
算法提示:
行與行之間以回車符分隔,而getline()函數以回車符作為終止符。因此,可以采用getline()函數讀取每一行,再用一個變量i計算行數。
(1)實現源代碼
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <sstream>
- using namespace std;
- int coutFile(char * filename,char * outfilename)
- {
- ifstream filein;
- filein.open(filename,ios_base::in);
- ofstream fileout;
- fileout.open(outfilename,ios_base::out);
- string strtemp;
- int count=0;
- while(getline(filein,strtemp))
- {
- count++;
- cout<<strtemp<<endl;
- fileout<<count<<" "<<strtemp<<endl;
- }
- filein.close();
- fileout.close();
- return count;
- }
- void main()
- {
- cout<<coutFile("c://data.txt","c://data1.txt")<<endl;
- }
再來一個示例:
下面的C++代碼將用戶輸入的信息寫入到afile.dat,然后再通過程序讀取出來輸出到屏幕
- #include <fstream>
- #include <iostream>
- using namespace std;
- int main ()
- {
- char data[100];
- // open a file in write mode.
- ofstream outfile;
- outfile.open("afile.dat");
- cout << "Writing to the file" << endl;
- cout << "Enter your name: ";
- cin.getline(data, 100);
- // write inputted data into the file.
- outfile << data << endl;
- cout << "Enter your age: ";
- cin >> data;
- cin.ignore();
- // again write inputted data into the file.
- outfile << data << endl;
- // close the opened file.
- outfile.close();
- // open a file in read mode.
- ifstream infile;
- infile.open("afile.dat");
- cout << "Reading from the file" << endl;
- infile >> data;
- // write the data at the screen.
- cout << data << endl;
- // again read the data from the file and display it.
- infile >> data;
- cout << data << endl;
- // close the opened file.
- infile.close();
- return 0;
- }
程序編譯執行后輸出如下結果
- $./a.out
- Writing to the file
- Enter your name: Zara
- Enter your age: 9
- Reading from the file
- Zara
- 9
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答