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>
intmain()
{
FILE*fpPhoto,*fpText,*fpTarget;
intiRead;
charszBuf[100];
printf("請輸入第一個文件名(jpg): ");
gets(szBuf);
fpPhoto=fopen(szBuf,"rb");
printf("請輸入第二個文件名(txt): ");
gets(szBuf);
fpText=fopen(szBuf,"rb");
printf("請輸入目的文件名(jpg): ");
gets(szBuf);
fpTarget=fopen(szBuf,"wb");
if(!fpPhoto||!fpText||!fpTarget)
{
printf("打開文件失敗! ");
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);
return0;
}
B. C語言的源程序的擴展名是什麼
C語言源程序後綴為.c
,在windows平台上,編譯後的後綴為.obj,連接後的後綴為.exe。在Linux平台上,預處理後的文件擴展名一般為.i,C語言編譯器編譯後的文件擴展名一般為.S,是一個匯編代碼文件,匯編器編譯後的文件擴展一般為.o,鏈接器生成的可執行文件默認為.out。
C. 計算機內部為什麼要採用二進制存儲數據和程序
二進制是一種非常古老的進位制,由於在現代被用於電子計算機中,而舊貌換新顏變得身價倍增起來。
在現實生活和記數器中,如果表示數的「器件」只有兩種狀態,如電燈的「亮」與「滅」,開關的「開」與「關」。一種狀態表示數碼0,另一種狀態表示數碼1,1加1應該等於2。
因為沒有數碼2,只能向上一個數位進一,就是採用「滿二進一」的原則,這和十進制是採用「滿十進一」原則完全相同。
1+1=10,10+1=11,11+1=100,100+1=101,
101+1=110,110+1=111,111+1+=1000,……,
可見二進制的10表示二,100表示四,1000表示八,10000表示十六,……。
二進制同樣是「位值制」。同一個數碼1,在不同數位上表示的數值是不同的。如11111,從右往左數,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。
用熟悉的十進制說明這個二進制數的含意,有以下關系式:
(11111)(二進制)=1×24+1×23+1×22+1×2+1(十進制)
一個二進制整數,從右邊第一位起,各位的計數單位分別是1,2,22,23,…,2n,…。
(3)源程序以什麼數值存儲擴展閱讀
計算機內部之所以採用二進制,其主要原因是二進制具有以下優點:
1、技術上容易實現。用雙穩態電路表示二進制數字0和1是很容易的事情。
2、可靠性高。二進制中只使用0和1兩個數字,傳輸和處理時不易出錯,因而可以保障計算機具有很高的可靠性。
3、運算規則簡單。與十進制數相比,二進制數的運算規則要簡單得多,這不僅可以使運算器的結構得到簡化,而且有利於提高運算速度。
4、與邏輯量相吻合。二進制數0和1正好與邏輯量「真」和「假」相對應,因此用二進制數表示二值邏輯顯得十分自然。
5、二進制數與十進制數之間的轉換相當容易。人們使用計算機時可以仍然使用自己所習慣的十進制數,而計算機將其自動轉換成二進制數存儲和處理,輸出處理結果時又將二進制數自動轉換成十進制數,這給工作帶來極大的方便。
D. matlab中.m .fig 和.mat 分別是什麼文件
m是源程序文件
fig是用戶界面窗口定義文件
mat是數據文件保存變數
在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現;但最常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。源程序文件類型是指源程序存儲時使用的殊編碼方式,便於讀取、識別。
(4)源程序以什麼數值存儲擴展閱讀:
有些文件格式被設計用於存儲特殊的數據,例如:圖像文件中的JPEG文件格式僅用於存儲靜態的圖像,而GIF既可以存儲靜態圖像,也可以存儲簡單動畫;Quicktime格式則可以存儲多種不同的媒體類型。文本類的文件有:text文件一般僅存儲簡單沒有格式的ASCII或Unicode的文本;HTML文件則可以存儲帶有格式的文本;PDF格式則可以存儲內容豐富的,圖文並茂的文本。
同一個文件格式,用不同的程序處理可能產生截然不同的結果。例如Word 文件,用Microsoft Word觀看的時候,可以看到文本的內容,而以無格式方式在音樂播放軟體中播放,產生的則是雜訊。一種文件格式對某些軟體會產生有意義的結果,對另一些軟體來看,就像是毫無用途的數字垃圾。
E. 在磁碟中程序是以什麼方式存儲的
以 d.文件 方式存放的。
源程序,腳本程序 用文本文件,可執行程序用2進制文件存放。庫程序一般也用2進制文件存放。
F. 用C語言編寫的程序稱為源程序,它以ASCⅡ代碼形式存放在一個文本文件中 這句話為什麼對不是都以二
源碼就是你寫的代碼 當然是文本格式了 編譯出的執行文件才是二進制格式
G. 計算機的所有程序和數據都是以什麼形式儲存
計算機系統中,所有的程序和數據都是以二進制形式存放在計算機的外存儲器上。
數學家馮·諾依曼提出了計算機製造的三個基本原則,即採用二進制邏輯、程序存儲執行以及計算機由五個部分組成(運算器、控制器、存儲器、輸入設備、輸出設備)。
(7)源程序以什麼數值存儲擴展閱讀:
優點
數字裝置簡單可靠,所用元件少;
只有兩個數碼0和1,因此它的每一位數都可用任何具有兩個不同穩定狀態的元件來表示;
基本運算規則簡單,運算操作方便。
缺點
用二進製表示一個數時,位數多。因此實際使用中多採用送入數字系統前用十進制,送入機器後再轉換成二進制數,讓數字系統進行運算,運算結束後再將二進制轉換為十進制供人們閱讀。
二進制和十六進制的互相轉換比較重要。不過這二者的轉換卻不用計算,每個C,C++程序員都能做到看見二進制數,直接就能轉換為十六進制數,反之亦然。