如何將非本文檔如*.exe 讀入呢? |
答題得分者是:RaynorPao
|
douglasjs
一般會員 發表:1 回覆:2 積分:0 註冊:2002-12-17 發送簡訊給我 |
請問各位大大,我寫了一個程式,但是只能讀文字檔,非文字檔只能讀到 5~8 btye
unsigned char uc;
char m_chCharacterText[1000000];
int kk=0;
File *file;
f=fopen(Form1->OpenDialog1->FileName.c_str(),"rb");
while (1)
{
fread(&uc,1,1,f);
if(feof(f)) break;
m_chCharacterText[kk] = uc;
kk ;
}
fclose(f); 有人能救我嗎???? ~><~ 感謝~~ (那如果要寫入檔案呢?)
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請問各位大大,我寫了一個程式,但是只能讀文字檔,非文字檔只能讀到 5~8 btyedouglasjs 你好: 因為你宣告的資料型態為 char array 所以讀非文字的檔案~~一遇到 0x00 就截掉了 BCB 裡面不是有 TMemoryStream 可以用嗎?? TMemoryStream *msFile=new TMemoryStream; msFile->LoadFromFile("temp.txt"); ............................ // 對 msFile 做處理 ............................ msFile->SaveToFile("temp.txt"); delete msFile;建議你該查查 BCB 的 help 了 備註: 另外~~ > 請查詢
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
yujui
一般會員 發表:1 回覆:1 積分:0 註冊:2002-12-06 發送簡訊給我 |
改成這樣就行了~~ unsigned char uc;
char m_chCharacterText[1000000];
int kk=0;
File *file;
f=fopen(Form1->OpenDialog1->FileName.c_str(),"rb");
while(!feof(f))
{
uc=fgetc(f);
if((!feof(f))||(uc!=EOF))
{
m_chCharacterText[kk]=uc;
kk++;
}
}
fclose(f); 試試看吧< >< >
|
douglasjs
一般會員 發表:1 回覆:2 積分:0 註冊:2002-12-17 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: RaynorPao大大還有一事請教~使用TMemoryStream 的方法是如何呢,是用seek一個一個的指到陣列嗎? Help的使用法看得不是很懂~ 還有如果使用動態配置而不是使用陣列的方式要如何做呢? 有點離題~~抱歉~~~謝謝各位大大的協助 ^^souglasjs 你好: 以下這段 sample code 請參考看看 < class="code"> void __fastcall TForm1::Button1Click(TObject *Sender) { TMemoryStream *msBuf=new TMemoryStream; BYTE bBuf=0; msBuf->Size=256; for(int i=0; i
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
douglasjs
一般會員 發表:1 回覆:2 積分:0 註冊:2002-12-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |