编写程序实现如下功能:打开指定的文本文件,在每一行前加行号。
#include<fstream>
#include<iostream>
using namespace std;
int main(int)
{
ifstream inf;
inf.open("abc.txt");
ofstream outf;
outf.open("abc_back.txt");
char c;
/*
noskipws => no skip whitespace(空白)
noskipws 不是不忽略输入前的空格, 而是 不忽略 任意地方的空格
操作符noskipws会令输入运算符读取空白符,而不是跳过它们。为了恢复默认行为,可以使用skipws操作符。
*/
inf >> noskipws; //不忽略空白,把每行最后那个'\n'也读进来。
int i = 1;
outf << i << " ";
cout << i << " ";
while (inf >> c)
{
if (c == '\n') { //遇到 '\n' 回车、换行。
outf << "\n"; //输出到文件
cout << "\n"; //输出到屏幕
outf << ++i << " ";
cout << i << " ";
}
else {
outf << c; //输出到文件
cout << c; //输出到屏幕
}
}
inf.close();
outf.close();
getchar();
return 0;
}
简单的输入输出 检测到换行就识别为一行