C++文件讀寫代碼分享
編寫一個程序,統(tǒng)計(jì)data.txt文件的行數(shù),并將所有行前加上行號后寫到data1.txt文件中。
算法提示:
行與行之間以回車符分隔,而getline()函數(shù)以回車符作為終止符。因此,可以采用getline()函數(shù)讀取每一行,再用一個變量i計(jì)算行數(shù)。
(1)實(shí)現(xiàn)源代碼
#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;
}
程序編譯執(zhí)行后輸出如下結(jié)果
$./a.out Writing to the file Enter your name: Zara Enter your age: 9 Reading from the file Zara 9
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
vs運(yùn)行時報(bào)C4996代碼錯誤的問題解決
C4996錯誤的意思:是VS覺得strcpy這函數(shù)不安全,建議你使更安全的函數(shù),那么如何解決呢,本文主要介紹了vs運(yùn)行時報(bào)C4996代碼錯誤的問題解決,感興趣的可以了解一下2024-01-01
C++重載運(yùn)算符實(shí)現(xiàn)分?jǐn)?shù)加減乘除
這篇文章主要為大家詳細(xì)介紹了C++重載運(yùn)算符實(shí)現(xiàn)分?jǐn)?shù)加減乘除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06

