编写一个程序,统计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.outWriting to the fileEnter your name: ZaraEnter your age: 9Reading from the fileZara9
以上所述就是本文的全部内容了,希望大家能够喜欢。
新闻热点
疑难解答
图片精选