作者StarRoad (知道越多了解越少)
看板C_and_CPP
標題[問題] 關於string遇到的麻煩
時間Tue Oct 13 15:47:23 2009
前情提要:
學校出了一份關於影像處理的作業,
需要 "讀取來源檔 -> 更動bmp裡檔的數值 -> 寫入新檔案",
為了方便後續操作,
所以我想用string來讀取檔案的內容。
但是使用下列程式(簡化後)的時候,
"f_r >> data;" 這行往往無法將來源檔的內容完全讀入,
讀到一半就會停止了
(有用過 while(!f_r.eof()) 判定過,似乎程式也知道沒有讀到檔案結尾)
想請問有沒有解決的辦法?
先謝謝前輩指教了 T_T
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream f_r("test.bmp");
ofstream f_w("out.bmp") ;
string data;
f_r >> data;
f_w << data;
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.252.73
→ james732:要用 binary 的方式來讀檔吧 10/13 15:56
→ StarRoad:漏打 那行應該是 ("test.bmp",ios::binary) 可是還是不行 10/13 17:41
推 Ebergies:因為 bmp 檔裡面會有 \0 當然就斷了 10/13 17:41
推 james732:也不適用 >> 讀檔 請改用 f_r.read() 相關函式 10/13 17:43
→ StarRoad:對對對 就是要問這個有沒有辦法解決 @@ 10/13 17:43
→ StarRoad:james732:因為我用.read()程式會當掉 而且.read好像要 10/13 17:53
→ StarRoad:設定長度 所以想看看有沒有別的方式 10/13 17:53