當前位置:首頁 » 編程語言 » c語言打開二進制文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言打開二進制文件

發布時間: 2022-02-08 13:51:45

c語言讀取二進制數據文件

1、二進制文本使用fopen函數的二進制模式「rb」就可以打開。對於程序來說,不管後綴名如何,文件分為兩種類型:文本文件和二進制文件。 C語言里有一系列文件操作函數。區分文本和二進制文件,需要在打開文件時設置不同的控制符mode的變數即可。

2、fopen的函數原型:FILE * fopen(const char * path,const char * mode);
fopen函數的第一個參數是文件路徑,第二個參數是打開方式,有以下幾種方式:
r 以只讀方式打開文件,該文件必須存在。
r+ 以可讀寫方式打開文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,允許讀數據。
rw+ 讀寫打開一個文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
wt+ 讀寫打開或著建立一個文本文件;允許讀寫。
at+ 讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。

3、常式:

#include <stdlib.h>
#include <stdio.h>
int main ()
{
FILE * fpPhoto, * fpText, * fpTarget ;
int iRead ;
char szBuf[100] ;

printf ("請輸入第一個文件名(jpg):\n") ;
gets (szBuf) ;
fpPhoto = fopen (szBuf, "rb") ;
printf ("請輸入第二個文件名(txt):\n") ;
gets (szBuf) ;
fpText = fopen (szBuf, "rb") ;
printf ("請輸入目的文件名(jpg):\n") ;
gets (szBuf) ;
fpTarget = fopen (szBuf, "wb") ;

if (!fpPhoto || !fpText || !fpTarget)
{
printf ("打開文件失敗!\n") ;
system("pause") ;
return -1 ;
}

while ((iRead = fread (szBuf, 1, sizeof (szBuf), fpPhoto)) > 0)
fwrite (szBuf, 1, iRead, fpTarget) ;
while ((iRead = fread (szBuf, 1, sizeof (szBuf), fpText)) > 0)
fwrite (szBuf, 1, iRead, fpTarget) ;

fclose (fpPhoto) ;
fclose (fpText) ;
fclose (fpTarget) ;
return 0 ;
}

⑵ 用C語言的open怎麼以二進制方式打開文件

thanks

⑶ c語言中用二進制格式打開文件

不能夠完全確認寫入了文件

調用 fclose或者fflush 之後確保寫入

⑷ C語言讀取二進制文件

之前好像哪看到過一篇C++的讀取二進制~~嘎嘎~~
ps:你都九級了,好高~~

⑸ 在c語言中如何打開二進制文件

文本文件和二進制文件就是一個聲明,指明了你應該以什麼方式(文本方式/二進制)打開這個文件,用什麼函數讀寫這個文件(讀寫函數),怎麼判斷讀到這個文件結尾。


具體的說:

C規定了標准輸入輸出函數庫,用fopen()函數打開文件。fopen()函數的調用方式一般為:

FILE*fp;//定義一個文件類型的指針變數fp
fp=fopen(文件名,使用文件方式);


使用文件方式見下表:

"r"(只讀) 為輸入打開一個文本文件

"w"(只寫) 為輸出打開一個文本文件

"a"(追加) 為追加打開一個文本文件

"rb"(只讀) 為輸入打開一個二進制文件

"wb"(只寫) 為輸出打開一個二進制文件

"ab"(追加) 為追加打開一個二進制文件

"r+"(讀寫) 為讀/寫打開一個文本文件

"w+"(讀寫) 為讀/寫創建一個文本文件

"a+"(讀寫) 為讀/寫打開一個文本文件

"rb+"(讀寫) 為讀/寫打開一個二進制文件

"wb+"(讀寫) 為讀/寫創建一個二進制文件

"ab+"(讀寫) 為讀/寫打開一個二進制文件

⑹ 用C語言打開文本文件,然後以二進制保存

這些都是c語言打開文件函數fopen的一個參數打開文件方式的值:
定義函數
file
*
fopen(const
char
*
path,const
char
*
mode);
函數說明
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r
打開只讀文件,該文件必須存在。
r+
打開可讀寫的文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,只允許讀寫數據。
rt+
讀寫打開一個文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
wt+
讀寫打開或著建立一個文本文件;允許讀寫。
at+
讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b
字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。不過在posix系統,包含linux都會忽略該字元。由fopen()所建立的新文件會具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)許可權,此文件許可權也會參考umask
值。
自己看吧

⑺ c語言怎麼讀取二進制文件

main()
{
FILE * stream;
int i;
stream = fopen("/tmp/fwrite","r");
fread(s,sizeof(struct test),nmemb,stream);
fclose(stream);
for(i=0;i<nmemb;i++)
printf("name[%d]=%-20s:size[%d]=%d/n",i,s[i].name,i,s[i].size);
}
供參考

⑻ 請問如何用C語言顯示讀取的二進制文件內容,以二進制的形式顯示,最好有具體的函數,謝謝

#include <stdio.h>
#include <stdlib.h>

//PRINTBIT 用於把一無符號整數翻譯成二進制串
void PRINTBIT(unsigned int number)
{

unsigned int i;
unsigned int ckecker=1;//ckecker 用於指示由右至左的位數,初置設為 1

ckecker<<=8-1;//將 ckecker 中非零位移到其機器表示的最左邊

//下一語句從左至右列印各位,每四位之間留一空隔
for (i=1;i<=8;i++)
{
//列印 ckecker 非零位所對應的 number 中對應位
putchar((number & ckecker)?'1':'0');
if (i%4==0)//每4位用空格隔開
putchar(' ');
ckecker>>=1; //准備列印 number 中的下一位
}

putchar('\n');

}

int main(void)
{
FILE *fp;
char *filename = "in1.dat";
char ch;

if((fp=fopen(filename,"rb"))== NULL )
{
printf("Can not open %s!\n",filename);
exit(0);
}

printf("原字元\t二進制\n");
ch=fgetc(fp);//取字元
while(!feof(fp))
{
putchar(ch);
putchar('\t');
PRINTBIT(ch);
ch=fgetc(fp);
}
fclose(fp);

return 0;
}

⑼ c語言怎麼二進制文件操作

主要就是二進制文件的讀寫、結構體的定義和使用。
fopen函數 以 "ab+" 方式打開文件,用fwrite函數寫入內容; "b" 方式打開文件,讀取內容;

⑽ 請問如何用C語言顯示讀取的二進制文件內容,以二進制的形...

請問如何用C語言顯示讀取的二進制文件內容,以二進制的形...
綠竹別其三分景 紅梅正報萬家春 春回大地 一干二凈除舊習 五講四美樹新風 辭舊迎春