[問題] 計算程式行數
要計算一個文件的總行數,通常可能會這樣想:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int c;
int lines = 0;
fstream in("t1.c", fstream::in);
for (;;) {
c = in.get();;
if (c == EOF) break;
if (c == '\n') ++lines;
}
printf("%d\n", lines);
return 0;
}
但是如果檔案結尾沒有加換行字元的話,
好像總行數會少算1
例如在test.txt裡:
abc
def
輸出結果是1
可是怎麼看,這種例子的行數都是2啊??
但是如果我把lines初始成1,
如果現在test.txt在f後按下enter:
abc
def
這種結尾有換行的文件,
行數應該是3還是2?
如果是2
要如何滿足這2種例子??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.174.12
※ 編輯: yueayase 來自: 111.251.174.12 (04/19 22:04)
→
04/19 22:20, , 1F
04/19 22:20, 1F
→
04/19 22:26, , 2F
04/19 22:26, 2F
→
04/19 22:27, , 3F
04/19 22:27, 3F
→
04/19 22:44, , 4F
04/19 22:44, 4F
→
04/19 22:55, , 5F
04/19 22:55, 5F
→
04/19 22:56, , 6F
04/19 22:56, 6F
→
04/19 23:02, , 7F
04/19 23:02, 7F
→
04/19 23:24, , 8F
04/19 23:24, 8F
→
04/20 00:38, , 9F
04/20 00:38, 9F
推
04/20 00:53, , 10F
04/20 00:53, 10F
推
04/20 06:12, , 11F
04/20 06:12, 11F
推
04/20 10:30, , 12F
04/20 10:30, 12F
→
04/20 13:35, , 13F
04/20 13:35, 13F
→
04/20 13:35, , 14F
04/20 13:35, 14F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章