C语言语法简介.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FILE
利用 fopen()來開啟檔案,並決定開啟的模式
imagefile = fopen( argv[1], "rb“ );
檔案指標
欲開啟 的檔案
模式
4
3. 開啟檔案 (2/2)
C語言語法:
檢查開啟檔案是否成功 以唯讀模式 開啟檔案
if ((imagefile=fopen(argv[1],"rb"))ห้องสมุดไป่ตู้=NULL) { printf("Unable to open input image\n",argv[1]); exit(1); } if ((result=fopen(argv[2],"wb"))==NULL) { printf("Unable to open output image\n",argv[2]); exit(0); }
7
5. 輸出影像(2/2)
輸出大小為W*H的灰階影像 C語言: 可透過 fwrite()輸出整個陣列 或是透過fputc()循序輸出個別像素
for(i=0;i<H;i++) { for(j=0;j<W;j++) { fputc(image[i][j],result); } } fputc(image[i][j], result);
以原圖大小的40%顯示
灰階影像像素若為 8 bits/pixel,正好可用這種資料型態
2
2. 程式引數
C語言的程式編譯後會產生一個可執行檔 程式執行時可以利用引數來將要輸入輸出的資料導入
Example: dir d:
執行檔
參數
argc argv[]
用以記錄引數的個數 用以記錄個別引數的內容
C語言語法:
C語言語法簡介
2018/9/14
1
1. 影像儲存
灰階影像 大小為W*H pixels
W=640, H=480
640 pixels
C 語言語法:
640 480
image[H][W];
#define W #define H
unsigned char
480 pixels
使用『unsigned char』的原因
main(argc,argv) int argc; char **argv; { … }
上面的例子中 argc = 2 argv[0]=“dir” argv[1]=“d:”
3
3. 開啟檔案 (1/2)
影像檔案的輸入與輸出必須先『開啟檔案』後,才能 進行輸入與輸出的動作 C語言語法:
宣告檔案指標
*imagefile,*result;
以寫入模式 開啟檔案
5
4. 輸入影像
輸入大小為W*H的灰階影像 像素的儲存順序是依照由左而右,由上而下的順序。 也就是一列一列循序儲存。 需配合『檔案開啟』後,在循序讀入檔案內容 C語言語法:
for(i=0;i<H;i++) { for(j=0;j<W;j++) { image[i][j]=fgetc(imagefile); } } 記得是依照 一列一列的 順序來讀入
6
5. 輸出影像(1/2)
輸出大小為W*H的灰階影像 C語言: 可透過 fwrite()輸出整個陣列 或是透過fputc()循序輸出個別像素
fwrite(image, sizeof(unsigned char), W*H, result);
輸出陣列 資料型態所需 的儲存空間
元素個數 要寫入的 檔案指標
輸出陣列 元素 要寫入的 檔案指標
8