printf,sprintf和fprintf都是C語言的輸出語句,都是把格式好的字串輸出。那麼這三者有什麼差別,以下這篇文章就來認識printf,sprintf和fprintf,介紹它們之間的差別,希望對大家有幫助。
printf
#printf函數用於在標準輸出裝置(stdout控制台)上輸出文本(字串/字元流)或值。
基本語法
int printf(const char * format,...);
說明:
format提供了文字字串的格式,該格式將在輸出裝置上使用%s,%d,%f等格式說明符進行輸出。
...提供需要輸出的參數清單。
傳回類型int傳回畫面上輸出的字元總數。
範例:
#include<stdio.h> int main() { printf("hello geeksquiz"); printf("\n"); int a=2; printf("%d",a); return 0; }
輸出:
#sprintf
sprintf用於將格式化文字(字串/字元流)傳送(複製)到字串緩衝區上。
基本語法
int sprintf(char * str,const char * format,...);
說明:
●
char * str: 將在其中傳送(複製)格式化文字的字元陣列。
●format在格式說明符的幫助下提供格式化文字。 ● ...
提供需要輸出的參數清單。 ● 傳回類型int將複製(傳送)字元的總數傳回char * str。 範例:#include <stdio.h> 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控制台上輸出。 輸出:
fprintf
fprintf用於在檔案中輸出字符串內容,但不在stdout控制台上輸出。
基本語法:
int fprintf(FILE * fptr,const char * str,...);說明:
fptr :這是指向 FILE 物件的指針,該 FILE 物件標識了流。 str:這是 C 字串,包含了要寫入到流 stream 中的文字。
範例:#include<stdio.h> 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<n; i++) { puts("输入名称"); gets(str); fprintf(fptr,"%d.%s\n", i, str); } fclose(fptr); return 0; }輸出:##########sample.txt中:############ ###########總結:############printf,sprintf和fprintf的差別是:它們的輸出目標不一樣。 printf在stdout控制台上輸出資料字元流;sprintf將資料字元流傳送指定的char緩衝區上;fprintf用於在檔案中輸出字串內容。 ######以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! ! ###
以上是C語言中printf,sprintf和fprintf的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!