编写一个程序,统计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
以上所述就是本文的全部内容了,希望大家能够喜欢。