問一下getc和fgetc這兩個函式有啥區別

2021-03-03 21:25:42 字數 3783 閱讀 8557

1樓:匿名使用者

getc()直接讀bai,每讀一次都要操作磁du

盤fgetc()有快取的,既你第zhi一次讀了,只有一個字dao節,實際版可能讀個1個扇權區512位元組到快取,你繼續讀下一個位元組,會直接從快取中返回,不再讀實際磁碟了。

隨機讀取只要在快取範圍內,也會直接返回,不再讀實際磁碟,快取中沒有,才讀實際磁碟

2樓:匿名使用者

不好意思,沒考慮好

似乎功能是一樣的。

fgetc() 與getc()有什麼區別呢?

3樓:匿名使用者

fgetc():

定義函式

int fgetc(file * stream);

函式說明

fgetc()從引數stream所指的檔案中讀取一個字元。若讀到檔案尾而無資料時版便返回

權eof。

返回值fgetc()會返回讀取到的字元,若返回eof則表示到了檔案尾。

getc():

功 能: 從流中取字元

用 法: int getc(file *stream);

注意: 此函式被iso c宣告為一個巨集,所以在用時不能將其做為函式指標傳(有一些編譯器將其以函式形式也給另說)。它的原型如下 #define getc(_stream) (--(_stream)->_**t >= 0?

0xff & *(_stream)->_ptr++ : _filbuf(_stream))

補充: 在c語言中,用函式getc(fgetc)從檔案讀取字元。getc、fgetc用法相同。

getc的呼叫形式:ch=getc(fp);此處的fp是檔案指標;函式功能是從檔案指標指向的檔案讀入一個字元,並把它作為函式值返回給字元型變數ch。

4樓:侍禎俞思怡

getc()和fgetc()函式即可以接收鍵盤輸入(f)getc(stdin),也可以讀取文字檔案(f)getc(file

*stream),成功,返專

回讀取的字元,否則返回eof,原屬型都在標頭檔案stdio.h中,兩者沒有區別。

putc()和fputc()是輸出函式,(f)putc(stdin)寫字元到顯示器,也可以寫到文字檔案fputc(file

*stream)。成功,putc()返回寫出的字元,而fputc()返回寫出的字元數(奇怪不?),不成功都返回eof。

5樓:

fgetc() 從檔案讀

getc()從鍵盤讀

它們的格式也有區別

c語言中的getc和fgetc有什麼不同?

6樓:文化廚子

來fgetc和getc最大的區別在前者

自是函式,後者是巨集,其中fget前面的字母f即為function函式的意思。使用這兩個函式時,需要注意如下幾點。

1、getc的引數不應當是具有***的表示式。有***的表示式,指的是表示式執行後,會改變表示式中某些變數的值。比如++i * ++i。

2、因為fgetc一定是一個函式,所以可以得到其地址。這就允許將fgetc的地址作為一個引數傳送給另一個函式。

3、呼叫fgetc所需時間很可能長於呼叫getc,因為呼叫函式通常所需的時間長於呼叫巨集。

7樓:匿名使用者

defined in header

int fgetc( file *stream );int getc( file *stream );

reads the next character from the given input stream. getc() may be implemented as a macro.

parameters

stream - to read the character from

getc是巨集抄定義的,詳細襲參bai考另外一du個回答,zhi

很專dao業

c語言中的getc和fgetc兩者的不同之處是什麼?

8樓:文化廚子

fgetc和來getc最大的區別在前者是

自函式,後者是巨集,其中baifget前面的字母f即為

dufunction函式的意思。使用這zhi兩個函式時,需dao要注意如下幾點。

1、getc的引數不應當是具有***的表示式。有***的表示式,指的是表示式執行後,會改變表示式中某些變數的值。比如++i * ++i。

2、因為fgetc一定是一個函式,所以可以得到其地址。這就允許將fgetc的地址作為一個引數傳送給另一個函式。

3、呼叫fgetc所需時間很可能長於呼叫getc,因為呼叫函式通常所需的時間長於呼叫巨集。

c語言檔案操作中fgetc和getc有什麼區別?

9樓:匿名使用者

兩個引數不一樣多的

fgetc和fputc是從標準流獲取/輸出字元,可以輸入輸出到檔案,也可以從專鍵盤獲取,輸出到屏屬幕.

getc和putc是從標準輸入流中獲取/從標準輸出流輸出字元,也就是一般情況從鍵盤輸入獲取字元,輸出到顯示器上

其實很多時候下,後一組函式是由前一組函式通過巨集實現的

10樓:匿名使用者

fputc輸出到檔案

putc輸出到顯示器

11樓:匿名使用者

fputc向檔案輸出

putc向系統控制檯輸出

12樓:桑莎莎媯修

getc()和fgetc()函式bai即可以接收鍵盤輸入(f)getc(stdin),也可du以讀取文字文zhi

件dao(f)getc(file

*stream),成功,返回讀內取的字元,否容則返回eof,原型都在標頭檔案stdio.h中,兩者沒有區別。

putc()和fputc()是輸出函式,(f)putc(stdin)寫字元到顯示器,也可以寫到文字檔案fputc(file

*stream)。成功,putc()返回寫出的字元,而fputc()返回寫出的字元數(奇怪不?),不成功都返回eof。

c語言中fgetc和getc與fputc和putc的區別是什麼

13樓:修者世界

fgetc是從資料流中取一

個字元,比如從一個打專

開的檔案中取一個字元

fputc是將一個字元送屬入到一個資料流中,比如王一個開啟的檔案中寫入一個字元

getc是從鍵盤中獲取一個字元

putc是往螢幕送一個字元

14樓:匿名使用者

fgetc,fputc的終端是檔案getc,putc的終端是鍵盤

15樓:匿名使用者

fgetc fputc 從名字上看就知道 f 指的是file,指的是從檔案讀取和輸出到檔案

getc putc 的預設指的是標準輸入輸出裝置

請問大家, c語言中, 庫函式 fgetc 與 getc 有哪些具體的區別呢? 用法上有什麼可區分的細節麼?

16樓:吾好夢中殺豬

兩者是等價的,參見msdn

區別是:

fgetc只有函式形式

getc除了函式形式外,還定義了巨集的形式。

#define getc(_stream) (--(_stream)->_**t >= 0 \

? 0xff & *(_stream)->_ptr++ : _filbuf(_stream))

可以問一下,這兩題高數求導怎麼求呀

兩邊取自然對數,再分別求導 例如 9 y sinx 版lnx lny ln sinx lnx lnx 權ln sinx 1 y y 1 x ln sinx lnx 1 sinx cosx 1 y y 1 x ln sinx lnx cotx y 1 x ln sinx lnx cotx y y 1 ...

汽車這圖的功能是什麼,問一下,多謝

第一張圖從上到下第一個車體防滑開關,第二個倒車雷達開關,第三個不太清楚。第二張圖上面是前車窗除霧,下面是後車窗除霧。第三張座椅加熱,第四張是燈光 近光燈 霧燈 調節。第五張右邊是車內儀表盤螢幕亮度調節 第一個 防側滑esp 停車輔助。第二個 扇形前檔除霧,方形後檔加熱。第三個 座椅加熱,座椅送風,第...

請問一下這兩題怎麼解答

136 1 3 5 1 5 136 1 5 680棵 1 3 3.14 52 12 1 3 4 314 1 4 1256立方厘米 第4題解答 設這copy 批樹苗一bai 共x根,列方程得 1 5x 136 3 5x,解方程得x 340所以du這批樹苗一共有340棵zhi 第5題解dao答 圓錐的體...