C語言中printf,sprintf和fprintf的區(qū)別有哪些-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)C語言中printf,sprintf和fprintf的區(qū)別有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的十年時(shí)間我們累計(jì)服務(wù)了上千家以及全國政企客戶,如被動防護(hù)網(wǎng)等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過硬的技術(shù)實(shí)力獲得客戶的一致贊賞。

printf,sprintf和fprintf都是C語言的輸出語句,都是把格式好的字符串輸出。那么這三者有什么區(qū)別,下面本篇文章就來認(rèn)識一下printf,sprintf和fprintf,介紹它們之間的區(qū)別,希望對大家有所幫助。

C語言中printf,sprintf和fprintf的區(qū)別有哪些

printf

printf函數(shù)用于在標(biāo)準(zhǔn)輸出設(shè)備(stdout控制臺)上輸出文本(字符串/字符流)或值。

基本語法

int printf(const char * format,...);

說明:

format提供了文本字符串的格式,該格式將在輸出設(shè)備上使用%s,%d,%f等格式說明符進(jìn)行輸出。

...提供需要輸出的參數(shù)列表。

返回類型int返回屏幕上輸出的字符總數(shù)。

示例:

#include<stdio.h> 
int main() 
{ 
   printf("hello geeksquiz"); 
    printf("\n"); 
   int  a=2;
   printf("%d",a); 
   return 0; 
}

輸出:

C語言中printf,sprintf和fprintf的區(qū)別有哪些

sprintf

sprintf用于將格式化文本(字符串/字符流)發(fā)送(復(fù)制)到字符串緩沖區(qū)上。

基本語法

int sprintf(char * str,const char * format,...);

說明:

●  char * str : 將在其中發(fā)送(復(fù)制)格式化文本的字符數(shù)組。

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

●  ...提供需要輸出的參數(shù)列表。

●  返回類型int將復(fù)制(發(fā)送)字符的總數(shù)返回到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緩沖區(qū)上,再通過printf在stdout控制臺上輸出。

輸出:

C語言中printf,sprintf和fprintf的區(qū)別有哪些

fprintf

fprintf用于在文件中輸出字符串內(nèi)容,但不在stdout控制臺上輸出。

基本語法:

int fprintf(FILE * fptr,const char * str,...);

說明:

fptr :這是指向 FILE 對象的指針,該 FILE 對象標(biāo)識了流。

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; 
}

輸出:

C語言中printf,sprintf和fprintf的區(qū)別有哪些

sample.txt中:

C語言中printf,sprintf和fprintf的區(qū)別有哪些

總結(jié):

printf,sprintf和fprintf的區(qū)別是:它們的輸出目標(biāo)不一樣。printf在stdout控制臺上輸出數(shù)據(jù)字符流;sprintf將數(shù)據(jù)字符流發(fā)送指定的char緩沖區(qū)上;fprintf用于在文件中輸出字符串內(nèi)容。

感謝各位的閱讀!關(guān)于C語言中printf,sprintf和fprintf的區(qū)別有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)站標(biāo)題:C語言中printf,sprintf和fprintf的區(qū)別有哪些-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article26/eghcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、定制開發(fā)云服務(wù)器、企業(yè)網(wǎng)站制作、面包屑導(dǎo)航、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)