[問題] 關於讀檔問題

看板C_and_CPP作者 (wi)時間15年前 (2010/09/06 20:32), 編輯推噓3(3026)
留言29則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 讀取檔案裡面的文字我是用ifstream的 但是讀檔進來的不能直接用database.push_back(fin) 一定要先丟進一個string在用push_back才可以正確 fin >> str; database.push_back(str); 希望得到的正確結果: 希望可以一行就好 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) code::block,windows 有問題的code: (請善用置底文標色功能) http://nopaste.info/0a9b1070bd.html 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.20.182 ※ 編輯: diabloevagto 來自: 140.125.20.182 (09/06 20:34)

09/06 20:39, , 1F
用istream_iterator
09/06 20:39, 1F

09/06 20:40, , 2F
istream_iterator+copy+inserer...之類的XD
09/06 20:40, 2F

09/06 20:45, , 3F
istream_iterator + vector<string>::vector
09/06 20:45, 3F

09/06 20:50, , 4F
XD h 大有錯字~
09/06 20:50, 4F

09/06 20:53, , 5F
剛inserter打成insert_iterator..刪的時候不小心刪到"t"||
09/06 20:53, 5F

09/06 21:06, , 6F
我在來研究一下...感謝大家了!
09/06 21:06, 6F

09/06 22:33, , 7F
copy(istream_iterator<string>(fin), istream_itera
09/06 22:33, 7F

09/06 22:33, , 8F
tor<string>(), back_inserter(database));
09/06 22:33, 8F

09/06 22:33, , 9F
我這樣會有錯說...
09/06 22:33, 9F

09/06 22:36, , 10F
錯誤訊息是? 我之前用比較舊的gcc也曾經出現一樣的問
09/06 22:36, 10F

09/06 22:37, , 11F
題, 不過只要把他拉到前面定義成具名物件就可以了
09/06 22:37, 11F
no matching function for call to 'std::istream_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char, std::char_traits<char>, int>::istream_iterator(int&)'| 這個是我的錯誤訊息 不好意思,我不太懂你的意思說... 我的版本是用CODE BLOCK 10.5板內建的GCC ※ 編輯: diabloevagto 來自: 140.125.20.182 (09/06 22:45)

09/06 22:49, , 12F
istream_iterator<string> bos(fin), eos;
09/06 22:49, 12F

09/06 22:50, , 13F
copy( bos, eos, back_inserter(database) );
09/06 22:50, 13F

09/06 22:59, , 14F
這樣跑出來的結果會一直是第二個說...
09/06 22:59, 14F

09/06 22:59, , 15F
一直是固定的
09/06 22:59, 15F

09/06 23:00, , 16F
一直是第二個? 是什麼意思?
09/06 23:00, 16F

09/06 23:00, , 17F
database 裡的字串都長一樣嗎?
09/06 23:00, 17F

09/06 23:03, , 18F
我database裡面的資料是從外部的TXT檔讀進來
09/06 23:03, 18F

09/06 23:05, , 19F
這我當然知道阿...現在是編譯錯誤還是跑出來的結果不
09/06 23:05, 19F

09/06 23:05, , 20F
如預期, 舉個例子你檔案裡的內容怎樣, 希望跑出什麼
09/06 23:05, 20F

09/06 23:06, , 21F
結果, 錯誤的結果為何, 這樣才能對症下藥
09/06 23:06, 21F

09/06 23:09, , 22F
不好意思,好像copy只需要跑一次就可以丟入全部的值
09/06 23:09, 22F

09/06 23:10, , 23F
因為我是用丟入的次數去取隨機的
09/06 23:10, 23F

09/06 23:13, , 24F
這樣去跑我第一行的資料並沒有讀入陣列中...
09/06 23:13, 24F

09/06 23:17, , 25F
我發現是因為我的程式本身有錯誤,感謝你的幫忙!!
09/06 23:17, 25F

09/06 23:17, , 26F
最後弄成功了
09/06 23:17, 26F

09/06 23:24, , 27F
溫馨感人 CPP版 熱心助人 love大
09/06 23:24, 27F

09/06 23:34, , 28F
h大您別逗了~ > <
09/06 23:34, 28F

09/06 23:50, , 29F
真的很溫馨啊!很有耐心,真的是LOVE啊!
09/06 23:50, 29F
文章代碼(AID): #1CXDzTlt (C_and_CPP)