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

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

printf
printf函數(shù)用于在標準輸出設備(stdout控制臺)上輸出文本(字符串/字符流)或值。
基本語法
int printf(const char * format,...);
說明:
format提供了文本字符串的格式,該格式將在輸出設備上使用%s,%d,%f等格式說明符進行輸出。
...提供需要輸出的參數(shù)列表。
返回類型int返回屏幕上輸出的字符總數(shù)。
示例:
#include<stdio.h>
int main()
{
printf("hello geeksquiz");
printf("\n");
int a=2;
printf("%d",a);
return 0;
}輸出:

sprintf
sprintf用于將格式化文本(字符串/字符流)發(fā)送(復制)到字符串緩沖區(qū)上。
基本語法
int sprintf(char * str,const char * format,...);
說明:
● char * str : 將在其中發(fā)送(復制)格式化文本的字符數(shù)組。
● format在格式說明符的幫助下提供格式化文本。
● ...提供需要輸出的參數(shù)列表。
● 返回類型int將復制(發(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控制臺上輸出。
輸出:

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的區(qū)別是:它們的輸出目標不一樣。printf在stdout控制臺上輸出數(shù)據(jù)字符流;sprintf將數(shù)據(jù)字符流發(fā)送指定的char緩沖區(qū)上;fprintf用于在文件中輸出字符串內容。
感謝各位的閱讀!關于C語言中printf,sprintf和fprintf的區(qū)別有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網站標題:C語言中printf,sprintf和fprintf的區(qū)別有哪些-創(chuàng)新互聯(lián)
網站路徑:http://chinadenli.net/article26/eghcg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網站、定制開發(fā)、云服務器、企業(yè)網站制作、面包屑導航、商城網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)