fprintf

fprintf

fprintf是C/C++中的一個格式化庫函式,位於頭檔案<cstdio>或<bits/stdc++.h>中,其作用是格式化輸出到一個流/檔案中;函式原型為int fprintf( FILE *stream, const char *format, [ argument ]...),fprintf()函式根據指定的格式(format)向輸出流(stream)寫入數據(argument)。

基本介紹

  • 中文名:fprintf
  • 外文名:fprintf
  • 功 能:傳送格式化輸出到一個檔案中
  • 成功返值:輸出字元數
  • 錯誤返回值:返回負值
  • 頭檔案:cstdio 舊版使用 stdio.h
參數說明,函式說明,功 能,用 法,規定符,程式示例VC,

參數說明

int fprintf (FILE* stream, const char*format, [argument])
FILE*stream:檔案指針
const char* format:輸出格式
[argument]:附加參數列表

函式說明

fprintf( )會根據參數format 字元串來轉換並格式化數據, 然後將結果輸出到參數stream 指定的檔案中, 直到出現字元串結束('\0')為止。
需要注意的一點是,頭檔案<stdio.h>為舊版C語言用法,是錯誤的。

功 能

傳送格式化輸出到一個檔案中與印表機輸出

用 法

#include <cstdio>
#include<cstdlib>
int fprintf( FILE *stream, const char *format, ... );
fprintf()函式根據指定的format(格式)傳送信息(參數)到由stream(流)指定的檔案. fprintf()只能和printf()一樣工作. fprintf()的返回值是輸出的字元數,發生錯誤時返回一個負值.

規定符

%d, %i 十進制有符號整數
%u 十進制無符號整數
%f 浮點數
%s 字元串
%c 單個字元
%p指針的值
%e, %E 指數形式的浮點數
%x無符號以小寫十六進制表示的整數
%X 無符號以大寫十六進制表示的整數
%o 無符號以八進制表示的整數
%g 自動選擇合適的表示法

程式示例VC

函式範例
//...#include <cstdio>int main(void) {    FILE *FSPOINTER;    char STRBUFF[16] = "Hello World.";    //...    FSPOINTER = fopen("HELLO.TXT", "w+");    //...    fprintf(FSPOINTER, "%s", STRBUFF);    //...    return 0;}輸出至檔案HELLO.TXT:Hello World
示例一
#include <cstdio>int main(void){    FILE *in,*out;    in = fopen("\\AUTOEXEC.BAT", "rt");    if(in == NULL)    {        fprintf(in, "Can not open inputfile.\n");        return 1;    }    out = fopen("\\AUTOEXEC.BAT", "wt");    if(out == NULL)    {        fprintf(out, "Can not open outputfile.\n");        return 1;    }    while(!feof(in))        fputc(fgetc(in), out);    fclose(in);    fclose(out);    return 0;}
示例二
#include <cstdio>#include <cstdlib>#include <cprocess>FILE* stream;int main(void){    int i = 10;    double fp = 1.5;    char s[] = "this is a string";    char c = '\n';    stream = fopen("fprintf.out", "w");    fprintf(stream, "%s%c", s, c);    fprintf(stream, "%d\n", i);    fprintf(stream, "%f\n", fp);    fclose(stream);    system("typefprintf.out");    return 0;}
輸出至檔案fprintf.out:
this is a string101.500000
示例三
#include <cstdio>int main(){    FILE* fp;    int i = 617;    char* s = "that is a good new";    fp = fopen("text.dat", "w");    fputs("total", fp);    fputs(":", fp);    fprintf(fp, "%d\n", i);    fprintf(fp, "%s", s);    fclose(fp);    return 0;}輸出至檔案text.dat: 
total:617that is a good new

熱門詞條

聯絡我們