3. 编写程序实现如下功能:打开指定的文本文件,在每一行前加行号。

 编写程序实现如下功能:打开指定的文本文件,在每一行前加行号。

#include
#include
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;
}

简单的输入输出 检测到换行就识别为一行

你可能感兴趣的:(c++)