fprintf ()- 將格式化資料寫入串流

格式

#include <stdio.h>
int fprintf(FILE *stream, const char *format-string, argument-list);

語言層次

ANSI

安全執行緒

區分語言環境

此函數的行為可能受到現行語言環境的 LC_CTYPE 及 LC_NUMERIC 種類的影響。 如果在編譯指令上指定 LOCALETYPE (*LOCALEUCS2) 或 LOCALETYPE (*LOCALEUTF) ,則現行語言環境的 LC_UNI_CTYPE 種類也可能影響行為。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

fprintf() 函數會將一系列字元和值格式化並寫入輸出 串流fprintf() 函數會轉換 argument-list中的每一個項目 (如果有的話) ,並根據 format-string中的對應格式規格寫入串流。

format-string 具有與 printf() 函數的 format-string 引數相同的格式及函數。

回覆值

fprintf() 函數會傳回列印的位元組數,如果發生輸出錯誤,則會傳回負值。

如需 fprintf()錯誤碼值的相關資訊,請參閱 printf ()-列印格式化字元

範例

此範例會將陣列 count 中每一個整數的一行星號傳送至檔案 myfile。 每一行所列印的星號數目對應於陣列中的整數。
#include <stdio.h>
 
int count [10] = {1, 5, 8, 3, 0, 3, 5, 6, 8, 10};
 
int main(void)
{
   int i,j;
   FILE *stream;
 
   stream = fopen("mylib/myfile", "w");
                  /* Open the stream for writing */
   for (i=0; i < sizeof(count) / sizeof(count[0]); i++)
   {
      for (j = 0; j < count[i]; j++)
         fprintf(stream,"*");
                  /* Print asterisk              */
         fprintf(stream,"\n");
                  /* Move to the next line       */
   }
   fclose (stream);
}
 
/*******************  Output should be similar to:  ***************
 
*
*****
********
***
 
***
*****
******
********
**********
*/

相關資訊