在寫完程式時候執行中斷發現讀取出來的檔案流放進char後長度只有幾個位元組,但是可以將這個cha重新寫成檔案
cfile file;
char* imgbuf1= null; //存放的char
imgbuf1= new char[lengthf1]; //重定義char長度為檔案流長度
memset(imgbuf1, 0, sizeof(char) * lengthf1);
file.read(imgbuf1,lengthf1);//讀取完之後imgbuf1列印會截斷,中斷也只能看到幾個位元組
file.close();
查閱資料後發現,讀取出來的二進位製流會存在\0,\0在字串中表示結束符.所以當呼叫列印字串的函式或者計數的函式,都會從\0這裡截斷,只會列印或者計數\0前面的位元組,所以當需要使用存放檔案流的char時後中間不能再進行字串的轉換
如果需要將存放檔案流的char和其他字串合在一起.不能使用strcpy和strcat,要重新將其他字串放乙個char裡,劃分乙個長度更大的char使用memcpy將兩個char合在一起.如下就在檔案流的前面加上"檔案流是:"
char strfileconnet1 [1024] = "檔案流是:";
int len1 = strlen(strfileconnet1); //純字串的使用strlen
const int lenstr = lengthf1 + len1;
imgmsg = new char[lenstr];
memcpy(imgmsg,strfileconnet1, len1);
memcpy(imgmsg+len1,imgbuf1,sizeof(imgmsg));
C 讀寫二進位制檔案
摘要 使用c 讀寫二進位制檔案,在開發中操作的比較頻繁,今天有幸找到一篇文章,遂進行了一些試驗,並進行了部分的總結。使用c 操作檔案,是研發過程中比較頻繁的,因此進行必要的總結和封裝還是十分有用的。今天在網上找到一篇,遂進行了部分的試驗,以記之,備後用。include 寫二進位制檔案 寫二進位制檔案...
c 讀寫二進位制檔案
最近需要用到二進位制檔案讀寫的相關操作,這邊稍微總結下,首先二進位制檔案的讀寫可以使用fread和fwrite來處理。fread函式原型 size t cdecl fread void size t,size t,file 第乙個引數表示的是快取,第二個引數表示的是基本單元的大小,第三引數表示的是基...
C 二進位制檔案讀寫
今天終於弄明白怎樣使用c 讀寫二進位制檔案了。要讀取檔案必須包含標頭檔案,這裡包含了c 讀寫檔案的方法。可以使用fstream類,這個類可以對檔案進行讀寫操作。1 開啟檔案。可以寫檔案了,讀檔案就好辦多了。讀檔案需要用到read函式。其引數和write大致相同,read const char ch,...