fprintf 簡介 c/c++語言函數: fprintf 功 能 傳送格式化輸出到一個檔案中 用 法 #include <stdio.h> int fprintf( FILE *stream, const char *format, ... ); fprintf()函數根據指定的format(格式)(格式)發送資訊(參數)到由stream(流)指定的檔案. fprintf()只能和printf()一樣工作. fprintf()的傳回值是輸出的字元數,發生錯誤時返回一個負值. 傳回值 成功時返迴轉換的位元組數,失敗時返回一個負數. 在LINUX/UNIX操系統中成功返回0,失敗返回-1。共置errno值. 程式例 /* Program to create backup of the AUTOEXEC.BAT file */ #include <stdio.h> int main(void) { FILE *in, *out; if ((in = fopen("//AUTOEXEC.BAT", "rt")) == NULL) { fprintf(stderr, "Cannot open input file./n"); return 1; } if ((out = fopen("//AUTOEXEC.BAK", "wt")) == NULL) { fprintf(stderr, "Cannot open output file./n"); return 1; } while (!feof(in)) fputc(fgetc(in), out); fclose(in); fclose(out); return 0; } 舉例用法: #include <stdio.h> #include <process.h> FILE *stream; void 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( "type fprintf.out" ); } 螢幕輸出: this is a string 10 1.500000 格式化規定符 %d 十進位有符號整數 %u 十進位不帶正負號的整數 %f 浮點數 %s 字串 %c 單個字元 %p 指標的值 %e 指數形式的浮點數 %x, %X 無符號以十六進位表示的整數 %0 無符號以八進位表示的整數 %g 自動選擇合適的標記法