[問題] 讀檔有沒有辦法指定讀取某一行?
開發平台(Platform): (Ex: VC++, Gcc, Linux, ...)
VC++ 2005
餵入的資料(Input):
假設若有一份原始文字檔內部一小塊區域是:
a 19823
b 98631
c 1313
d 445
e 715
f 901
g 29
若另外一份文字檔是
a 1
e 5
g 7
其中代表的意義是:
a在另外一份文字檔是位於第一列,
e在另外一份文字檔是位於第五列。
g在另外一份文字檔是位於第七列。
因此這份文字檔可以當作搜尋的索引值,
假設我要查詢f那一列的值。
則我可以先查這份文字檔,
發現f位於e和g之間,
因此也就是位於原始文字檔中的第五列到第七列之間。
因此程式碼可以這樣寫:
for(int j=1;j<5;j++)
getline(*p,str); //不斷地換列,做四次。
getline(*p,str); //做到第五次的時候,從第五列開始讀取
這樣寫的話,就是一直從檔案開頭往下讀取。
讀到自己想要的那一列後才開始真正處理資料。
不過這種讀法是sequential的做法,
若原始檔案很大,會讀取很久。
因此想請教說...若我已經知道某個值會出現在哪一列,
那我有沒有辦法直接讀取原始文字檔中的某一列呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.81.183
推
12/17 16:25, , 1F
12/17 16:25, 1F
→
12/17 16:26, , 2F
12/17 16:26, 2F
推
12/17 16:44, , 3F
12/17 16:44, 3F
→
12/17 16:45, , 4F
12/17 16:45, 4F
→
12/17 16:52, , 5F
12/17 16:52, 5F
推
12/17 17:08, , 6F
12/17 17:08, 6F
→
12/17 17:08, , 7F
12/17 17:08, 7F
→
12/17 17:09, , 8F
12/17 17:09, 8F
→
12/17 17:09, , 9F
12/17 17:09, 9F
→
12/17 17:09, , 10F
12/17 17:09, 10F
→
12/17 17:27, , 11F
12/17 17:27, 11F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章