您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關C語言中printf,sprintf和fprintf的區別有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
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用于在文件中輸出字符串內容。
感謝各位的閱讀!關于C語言中printf,sprintf和fprintf的區別有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。