首頁 > 後端開發 > C#.Net教程 > C語言中printf,sprintf和fprintf的差別是什麼

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

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

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<stdio.h> 
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 <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控制台上輸出。

輸出:

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


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

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

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板