天天看點

C語言中格式化輸入與輸出fprintf()函數和fscanf()函數

fprintf()函數和fscanf()函數

格式化輸出函數——fprintf()

  • fprintf(檔案指針, 格式串, 輸出項表);
  • 功能:按“格式串”所描述的格式把輸出項寫入“檔案指針”所指向的檔案。執行這個函數時,若成功則傳回所寫入的位元組數;否則傳回一個負數。

格式化輸出函數——fscanf()

  • fscanf(檔案指針, 格式串, 輸出項表);
  • 功能:從“檔案指針”所指向的文本檔案中讀取資料,按“格式串”所描述的格式輸出到指定的記憶體單元中。

注意:

格式化讀寫檔案時,用什麼格式寫入檔案,就一定用什麼格式從檔案讀取。讀出的資料與格式控制符不一緻,就會造成資料出錯。

示例如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void main() 
{
 FILE *fp;
 //int n = 2;
 int c[2][2] = { 1,1,1,3 };
 int a = 1;
 int b = 2;
 if ((fp = fopen("model1.txt", "w")) == NULL)//以隻寫方式打開model1.txt檔案,測試是否成功
 {
   printf("不能打開檔案 \n");
   exit(0);
 }
 fprintf(fp, "minimize\n");
 fprintf(fp, "obj: X_%d + X_%d ",a,b);
 fprintf(fp, "\nsubject to \n");
 fprintf(fp, "%d X_%d + %d X_%d >=%d \n", c[0][0],a, c[0][1],b,a);
 fprintf(fp, "%d X_%d + %d X_%d >=%d \n", c[1][0], a, c[1][1], b,b);
 fprintf(fp, "End \n");
 fclose(fp);
           

打開本地檔案夾下的model1.txt檔案,其運作結果如下:

C語言中格式化輸入與輸出fprintf()函數和fscanf()函數