老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

c語言讀取函數,c語言讀文件函數

c語言讀取圖片的函數是那些?

#include graphics.h

目前創新互聯已為上1000家的企業提供了網站建設、域名、網頁空間、成都網站托管、企業網站設計、弋陽網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

int main()

{

int gdriver, gmode;

gdriver=VGA;

gmode=VGAHI;

initgraph(gdriver, gmode, "c:\\tc");

bar3d(100, 100, 300, 250, 50, 1); /*畫一長方體*/

getch();

closegraph();

return 0;

}

有時編程者并不知道所用的圖形顯示器適配器種類, 或者需要將編寫的程序 用于不同圖形驅動器, Turbo C提供了一個自動檢測顯示器硬件的函數, 其調用

格式為:

void far detectgraph(int *gdriver, *gmode);

其中gdriver和gmode的意義與上面相同。

例5. 自動進行硬件測試后進行圖形初始化

#include graphics.h

int main()

{

int gdriver, gmode;

detectgraph(gdriver, gmode); /*自動測試硬件*/

printf("the graphics driver is %d, mode is %d\n", gdriver, gmode); /*輸出測試結果*/

getch();

initgraph(gdriver, gmode, "c:\\tc");

/* 根據測試結果初始化圖形*/

bar3d(10, 10, 130, 250, 20, 1);

getch();

closegraph();

return 0;

}

上例程序中先對圖形顯示器自動檢測, 然后再用圖形初始化函數進行初始化設置, 但Turbo C提供了一種更簡單的方法, 即用gdriver= DETECT 語句后再跟 initgraph()函數就行了。采用這種方法后, 上例可改為:

例6.

#include graphics.h

int main()

{

int gdriver=DETECT, gmode;

initgraph(gdriver, gmode, "c:\\tc");

bar3d(50, 50, 150, 30, 1);

getch();

closegraph();

return 0;

}

另外, Turbo C提供了退出圖形狀態的函數closegraph(), 其調用格式為:void far closegraph(void);調用該函數后可退出圖形狀態而進入文本方式(Turbo C 默認方式), 并釋放用于保存圖形驅動程序和字體的系統內存。

c語言中進行文件讀寫的函數是?

標準函數是:fopen、fread、fwrite、fclose等函數;

當然fprintf和fscanf函數也可以進行文件的讀寫;

有問題,請追問;

請問C語言對文件的讀取有哪些函數,都有什么功能?像fseek();fscanf();fread......什么的

C語言文件操作函數

13.1C語言文件

1,兩種文件存取方式(輸入,輸出方式)

順序存取

直接存取

2,數據的兩種存放形式

文本文件

二進制文件

13.2文件指針

定義文件類型指針變量的一般形式:

FILE *指針變量名;

例如:

FILE *fp1,*fp2;

13.3打開文件

在使用文件之前,需打開文件.在C里使用fopen函數打開文件.格式為:

fopen(文件名,文件使用方式);

此函數返回一個指向FILE類型的指針.如:

FILE *fp;

fp=fopen("file_1","r");

如果調用成功,fp就指向file_1,否則返回為NULL,所以為了保證文件的正確使用,要進行測試.采用如下語句:

If((fp=fopen("file_1","r"))==NULL)

{

printf("Cannot open this file\n");

exit(0);

}

最常用的文件使用方式及其含義如下:

1,"r".為讀而打開文本文件.(不存在則出錯)

2,"rb".為讀而打開二進制文件.

3,"w".為寫而打開文本文件.(若不存在則新建,反之,則從文件起始位置寫,原內容將被覆蓋)

4,"wb".為寫而打開二進制文件.

5,"a".為在文件后面添加數據而打開文本文件.(若不存在,則新建;反之,在原文件后追加)

6,"ab".為在文件后面添加數據而打開一個二進制文件.

最常用的文件使用方式及其含義如下:

7,"r+".為讀和寫而打開文本文件.(讀時,從頭開始;在寫數據時,新數據只覆蓋所占的空間,其后不變)

8,"rb+".為讀和寫而打開二進制文件.只是在隨后的讀寫時,可以由位置函數設置讀和寫的起始位置.

9,"w+".首先建立一個新文件,進行寫操作,隨后可以從頭開始讀.(若文件存在,原內容將全部消失)

10,"wb+".功能與"w+"同.只是在隨后的讀寫時,可以由位置函數設置讀和寫的起始位置.

最常用的文件使用方式及其含義如下:

11,"a+".功能與"a"相同;只是在文件尾部添加新的數據后,可以從頭開始讀.

12,"ab+".功能與"a+"相同;只是在文件尾部添加新數據之后,可以由位置函數設置開始讀的起始位置.

13.4關閉文件

當文件的讀寫操作完成之后,使用fclose函數關閉文件.格式如下:

fclose(文件指針)

如:fclose(fp);

13.5調用getc(fgetc)和putc(fputc)函數進行輸入和輸出

1,調用putc(或fputc)函數輸出一個字符

調用形式為:

putc(ch,fp);

功能是:將字符ch寫到文件指針fp所指的文件中去.當輸出成功,putc函數返回所輸出的字符;否則,返回一個EOF值.EOF是在stdio.h庫函數文件中定義的符號常量,其值等于-1.

13.5調用getc(fgetc)和putc(fputc)函數進行輸入和輸出

例如:把從鍵盤輸入的文本按原樣輸出到名為file_1.dat文件中,用字符@作為鍵盤輸入結束標志.

#include

Void main()

{

FILE *fpout;

char ch;

if(fpout=fpopen("file_1","w")==NULL)

{

printf("Cannot open this file!\n");

exit(0);

}

ch=getchar();

while(ch!='@')

{ fputc(ch,fpout); ch=getchar(); }

fclose(fpout);

}

2.調用getc(或fgetc)函數輸入一個字符

調用形式為:

ch=getc(pf);

功能是:從pf指定的文件中讀如一個字符,并把它作為函數值返回.

例如:把一個已存在磁盤上的file_1.dat文本文件中的內容,原樣輸出到終端屏幕上.

#include

void main(){

FILE *fpin;

char ch;

if((fpin=fopen("file_1.dat","r"))==NULL)

{ printf("Cann't open this file!\n");exit(0);}

ch=fgetc(fpin);

while (ch!=EOF)

{ putchar(ch); ch=fgetc(fpin);}

fclose(fpin);

}

13.6判斷文件結束函數feof

EOF可以作為文本文件的結束 標志,但不能作為二進制文件的結束符.feof函數既可以判斷二進制文件,又可以判斷文本文件.

例:編寫程序,用于把一個文本文件(源)復制到另一個文件(目的)中,源文件名和目的文件名由命令行輸入.命令形式如下:

可執行程序名 源文件名 目的文件名

#include

void filecopy(FILE* ,FILE *);

void main(int argc,char *argv[]){

FILE *fpin,*fpout;

if(argc==3)

{ fpin=fopen(argv[1],"r");

fpout=fopen(argv[2],"w");

filecopy(fpin,fpout);

fclose(fpin);fclose(fpout);

}

else if(argc3)

printf("The file names too many!!\n";

else

printf("There are no file names for input or output!!\n );

}

void filecopy(FILE *fpin,FILE *fpout)

{

char ch;

ch=getc(fpin);

while(!feof(fpin))

{putc(ch,fpout); ch=getc(fpin);}

}

13.7fscanf函數和fprintf函數

1,fscanf函數

fscanf只能從文本文件中按格式輸入,和scanf函數相似,只不過輸入的對象是磁盤上文本文件中的數據.調用形式為:

fscanf(文件指針,格式控制字符串,輸入項表)

例如:fscanf(fp,"%d%d",a,b);

fscanf(stdin,"%d%d",a,b);

等價于scanf("%d%d",a,b);

3.fprintf函數

fprintf函數按格式將內存中的數據轉換成對應的字符,并以ASCII代碼形式輸出到文本文件中.Fprintf函數和printf函數相似,只是將輸出的內容按格式存放到磁盤的文本文件中.調用形式如下:

fprintf(文件指針,格式控制字符串,輸出項表)

如:fprintf(fp,"%d %d",x,y);

以下語句 fprintf(stdout,"%d %d",x,y)

13.8fgets函數和fputs函數

1,fgets函數

fgets函數用來從文件中讀入字符串.調用形式如下:

fgets(str,n,fp);

函數功能是:從fp所指文件中讀入n-1個字符放入str為起始地址的空間內;如果在未讀滿n-1個字符時,則遇到換行符或一個EOF結束本次讀操作,并已str作為函數值返回.

13.8fgets函數和fputs函數

2,fputs函數

fput函數把字符串輸出到文件中.函數調用形式如下:

fputs(str,fp);

注意:為了便于讀入,在輸出字符串時,應當人為的加諸如"\n"這樣的字符串.

#include stdio.h

#include iostream

int main(int argc, char *argv[])

{

char arr[10] ;

char *ap = "hello!" ;

FILE *fp ;

if ((fp = fopen("hello.txt", "wt+")) == NULL)

{

printf("error!") ;

exit(1) ;

}

fputs(ap, fp) ;

rewind(fp) ; //

fgets(arr, 10, fp) ;

printf("%s\n", arr) ;

fclose(fp) ;

return 0 ;

}

13.9fread函數和fwrite函數

例如有如下結構體:

struct st{

char num[8];

float mk[5];

}pers[30];

以下循環將把這30個元素中的數據輸出到fp所指文件中.

for(i=0;i30;i++)

fwrite(pers[i],sizeof(struct st),1,fp);

13.9fread函數和fwrite函數

以下語句從fp所指的文件中再次將每個學生數據逐個讀入到pers數組中.

i=0;

fread(pers[i],sizeof(struct st),1,fp);

while(!feof(fp))

{ i++;

fread(pers[i],sizeof(struct st),1,fp);

}

13.10文件定位函數

1,fseek函數

fseek函數用來移動文件位置指針到指定的位置上,接著的讀或寫操作將從此位置開始.函數的調用形式如下:

fseek(pf,offset,origin)

pf:文件指針

offset:以字節為單位的位移量,為長整形.

origin:是起始點,用來指定位移量是以哪個位置為基準的.

1,fseek函數

位移量的表示方法

標識符 數字 代表的起始點

SEEK_SET 0 文件開始

SEEK_END 2 文件末尾

SEEK_CUR 1 文件當前位置

假設pf已指向一個二進制文件,則;

fseek(pf,30L,SEEK_SET)

fseek(pf,-10L*sizeof(int),SEEK_END)

對于文本文件,位移量必須是0;如:

fseek(pf,0L,SEEK_SET)

fseek(pf,0L,SEEK_END)

2. ftell函數

ftell函數用以獲得文件當前位置指針的位置,函數給出當前位置指針相對于文件開頭的字節數.如;

long t;

t=ftell(pf);

當函數調用出錯時,函數返回-1L.

我們可以通過以下方式來測試一個文件的長度:

fseek(fp,0L,SEEK_END);

t=ftell(fp);

3.rewind函數

調用形式為:

rewind(pf);

函數沒有返回值.函數的功能是使文件的位置指針回到文件的開頭.

13.10文件應用

在磁盤上的test.txt文件中放有10個不小于2的正整數,用函數調用方式編寫程序.要求實現:

1,在被調函數prime中,判斷和統計10個整數中的素數以及個數.

2,在主函數中將全部素數追加到磁盤文件test.txt的尾部,同時輸出到屏幕上.

#include

#include

Int prime(int a[],int n)

{

int I,j,k=0,flag=0;

for(i=0;i { for(j=2;j if(a[i]%j==0)

{ flag=0; break;}

else flag=1;

if(flag)

{a[k]=a[i];k++;}

}

return k;

}

void main(){

int n,I,a[10];

FILE *fp;

fp=fopen("test1-2.txt","r+");

for(n=0;n10;n++)

fscanf(fp,"%d",a[n]);

n=prime(a,n);

fseek(fp,o,2);

for(i=0;i {printf("%3d",a[i]);

fprintf(fp,"%3d",a[i]);

}

fclose(fp);

C語言讀取輸出文件函數問題

fread是一個函數。從一個文件流中讀數據,最多讀取count個元素,每個元素size字節,如果調用成功返回實際讀取到的元素個數,如果不成功或讀到文件末尾返回

0。

函數原型

size_t

fread

(

void

*buffer,

size_t

size,

size_t

count,

file

*stream)

;

buffer

用于接收數據的內存地址

size

要讀的每個數據項的字節數,單位是字節

count

要讀count個數據項,每個數據項size個字節.

stream

輸入流

返回值

實際讀取的元素個數。如果返回值與count不相同,則可能文件結尾或發生錯誤。從ferror和feof獲取錯誤信息或檢測是否到達文件結尾。


標題名稱:c語言讀取函數,c語言讀文件函數
URL分享:http://www.xueling.net.cn/article/hcccco.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 毛片在线一区二区观看精品 | 新91影院 | 程视频精品视频一区二区三区欧 | 人人干在线 | 黄色免费在线观看网址 | 性开放欧美瑜伽TV | 蜜桃视频在线视频 | WWW激情内射在线看 亚洲人成网7777777国产 | 精品一区精品二区 | 免费看黄色毛片网站播放 | 国产精品泄火熟女 | 狠狠躁夜夜躁人人爽天天高潮 | 欧美成人精品一区二区三区在线看 | 久久综合亚洲色HEZYO社区 | 写真福利片hd在线观看 | 国产精品制服 | 中文字幕日韩精品成人免费区二区 | 免费观看18禁无遮挡真人网站 | 超碰97人人做人人爱2020 | 依依色综合一道本 | 欧美被狂躁喷白浆精品 | 国内精品久久久久久久久久久 | 亚洲AV成人无码网站大全 | 麻豆一二区| A片粗大的内捧猛烈进出AVV | 欧美黄视频网站 | 国产精品VA在线观看无码不卡 | 国产免费中文字幕 | 无码AV潮喷 | 成人做爰高潮片免费视频 | www天天干com | 狠狠操在线视频 | 欧美性受xxxx黑人 | 日本一二三高清 | 日本中文字幕中出在线 | 久久夜色精品国产欧美乱文字幕无码 | AV换脸明星一区二区三区 | 少妇的丰满3中文字幕 | 国产视频色 | av私库在线 | 男人天堂视频在线 |