[問題] getline與讀檔的一些問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
讀檔常常是用迴圈把整個檔案讀完
像是while(getline(...))
但我想寫一個函式,呼叫一次就會去讀一行
第一次呼叫讀第一行、第二次呼叫會接著讀第二行...以此類推
但寫一寫發現一些問題,程式碼在最底下
就是我只會把開檔的iftresm infile宣告成全域變數才能一行接一行的讀下去= =
這樣感覺非常奇怪.....
宣告在readfile()裡面當然就永遠只讀到第一行
宣告在main裡面,卻不知道怎麼把 infile 傳給 readfile()
(查了之後還是不太明白它物件的形態...對物件導向不太熟)
ifstream infile("test.txt"); // global variable....= =
void readfile() {
string s1;
getline( infile,s1 );
// do something...
}
int main() {
readfile();
// wait and do something
readfile();
// wait and do something
readfile();
}
總之就是想寫個函式隨時呼叫就往下讀一行,可是開檔卻只會開在全域變數...
----------------------------
後來用readfile(ifstream& infile) 解決了
不過不是很明白其中含義,也不太確定這樣的方法好不好
看來我物件導向還要再多念念....冏
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.202.49
※ 編輯: la8day 來自: 112.104.202.49 (04/10 00:19)
→
04/10 00:50, , 1F
04/10 00:50, 1F
→
04/10 00:51, , 2F
04/10 00:51, 2F
→
04/10 00:52, , 3F
04/10 00:52, 3F
→
04/10 00:57, , 4F
04/10 00:57, 4F
→
04/10 01:13, , 5F
04/10 01:13, 5F
→
04/10 01:28, , 6F
04/10 01:28, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章