3.編寫程式實現如下功能:開啟指定的文字檔案,在每一行前加行號。

Septillions發表於2020-12-27
#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;
}

簡單的輸入輸出 檢測到換行就識別為一行

相關文章