C語言中printf,sprintf和fprintf的差別是什麼

青灯夜游
發布: 2019-01-25 17:02:01
原創
13807 人瀏覽過

printf,sprintf和fprintf都是C語言的輸出語句,都是把格式好的字串輸出。那麼這三者有什麼差別,以下這篇文章就來認識printf,sprintf和fprintf,介紹它們之間的差別,希望對大家有幫助。

C語言中printf,sprintf和fprintf的差別是什麼

printf

#printf函數用於在標準輸出裝置(stdout控制台)上輸出文本(字串/字元流)或值。

基本語法

int printf(const char * format,...);
登入後複製

說明:

format提供了文字字串的格式,該格式將在輸出裝置上使用%s,%d,%f等格式說明符進行輸出。

...提供需要輸出的參數清單。

傳回類型int傳回畫面上輸出的字元總數。

範例:

#include int main() { printf("hello geeksquiz"); printf("\n"); int a=2; printf("%d",a); return 0; }
登入後複製

輸出:

C語言中printf,sprintf和fprintf的差別是什麼

#sprintf

sprintf用於將格式化文字(字串/字元流)傳送(複製)到字串緩衝區上。

基本語法

int sprintf(char * str,const char * format,...);
登入後複製

說明:

char * str

: 將在其中傳送(複製)格式化文字的字元陣列。C語言中printf,sprintf和fprintf的差別是什麼

format在格式說明符的幫助下提供格式化文字。...

提供需要輸出的參數清單。

● 傳回類型int將複製(傳送)字元的總數傳回char * str。

範例:

#include  int main() { char str[100]; int n; n=sprintf((char*)str,"我的名字是%s, I am %d years old.","Mike",23); printf("Text is: %s\n",str); printf("Total number of copied characters are: %d\n",n); return 0; }
登入後複製

說明:sprintf將字串儲存在指定的char緩衝區上,再透過printf在stdout控制台上輸出。

輸出:

fprintfC語言中printf,sprintf和fprintf的差別是什麼


fprintf用於在檔案中輸出字符串內容,但不在stdout控制台上輸出。

基本語法:C語言中printf,sprintf和fprintf的差別是什麼

int fprintf(FILE * fptr,const char * str,...);
登入後複製

說明:

fptr :這是指向 FILE 物件的指針,該 FILE 物件標識了流。str:這是 C 字串,包含了要寫入到流 stream 中的文字。

範例:

#include int main() { int i, n=2; char str[50]; //open file sample.txt in write mode FILE *fptr = fopen("sample.txt", "w"); if (fptr == NULL) { printf("无法打开文件"); return 0; } for (i=0; i
        
登入後複製
輸出:

##########sample.txt中:############ ###########總結:############printf,sprintf和fprintf的差別是:它們的輸出目標不一樣。 printf在stdout控制台上輸出資料字元流;sprintf將資料字元流傳送指定的char緩衝區上;fprintf用於在檔案中輸出字串內容。 ######以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! ! ###

以上是C語言中printf,sprintf和fprintf的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!