1. 程式人生 > >c語言中格式化讀寫函式fscanf()和fprintf()

c語言中格式化讀寫函式fscanf()和fprintf()

fscanf():從指定檔案中按指定格式讀入資料,並賦值給相應的變數
格式:

fscanf(檔案指標,格式字串,輸出列表)

e.g.

    fscanf(fp,"%d",&i)      
    fscanf(fp,"%d %d",&i,&j)
    從檔案指標fp指向的檔案中按整形讀取一個數據,並將這個值賦給變數i.

fprintf():將一個變數按照指定的方式寫入到指定的檔案中.
格式:

    fprintf(檔案指標,格式化字串,輸入列表)

e.g.

    fprintf(fp,"%d",i)
    fprintf(fp,"%d %d",i,j)

程式碼:

/*定義一個結構體標頭檔案 stu.h*/
#ifndef STU_H
#define STU_H
#include<stdlib.h>
#include<stdio.h>
struct stu
{
    char name[15];
    char num[6];
    float score[2];
};

#endif

fprintf()寫入

/* 將一些格式化的資料寫入文字,再從該檔案中讀取到顯示器上 */
#include<stdio.h>
#include<stdlib.h>
#include"stu.h"

int
main() { struct stu student; FILE *fp; int i; fp=fopen("T.txt","w"); if(fp==NULL) { printf("無法開啟檔案\n!"); exit(0); } printf("請輸入資料: \n"); printf("請輸入學生姓名: "); scanf("%s",student.name); printf("請輸學生學號: "); scanf("%s",student.num); fprintf
(fp,"%s\n%s\n",student.name,student.num); for(i=0;i<2;i++) { printf("請輸入第%d門成績: ",i+1); scanf("%f",&student.score[i]); fprintf(fp,"%f\n",student.score[i]); } fclose(fp); return 0; }

fscanf()讀取寫進T.txt的資料

#include<stdio.h>
#include<stdlib.h>
#include"stu.h"
int main()
{
    struct stu *pstu;
    FILE *fp;
    fp=fopen("T.txt","r");
    if(fp==NULL)
    {
        printf("讀取失敗!");
        exit(1);
    }   
    printf("讀取資訊如下:\n");
    fscanf(fp,"%s%s%f%f",pstu->name,pstu->num,&pstu->score[0],&pstu->score[1]);
    printf("%s\n%s\n%f\n%f",pstu->name,pstu->num,pstu->score[0],pstu->score[1]);

    return 0;
}

結果:

konalo$ ./17.7
請輸入資料: 
請輸入學生姓名: kas
請輸學生學號: 123
請輸入第1門成績: 33
請輸入第2門成績: 22
konalo$ ./17.7_1
讀取資訊如下:
kas
123
33.000000
22.000000

相關推薦

c語言格式化函式fscanf()fprintf()

fscanf():從指定檔案中按指定格式讀入資料,並賦值給相應的變數 格式: fscanf(檔案指標,格式字串,輸出列表) e.g. fscanf(fp,"%d",&i) fscanf(fp,"%d %d",&

C語言常用檔案函式記錄

由於在vs下開發,經常使用MFC的類庫,檔案讀寫也是CFile的類級派生類,現在此記錄C語言檔案操作常用api,以備不時之需。 (1)fopen,fclose – 檔案開啟關閉函式; FILE* pFile = fopen("test.txt","w"); 第一個引數是

C語言指標變數作為函式引數一般變數作為函式引數的區別

函式的引數不僅可以是整型、浮點型、字元型等資料,還可以是指標型別。它的作用是將一個變數的地址傳送到另一個函式中。 指標變數作為函式引數和一般變數作為函式引數是有區別的,對於這種區別初學者一般都很迷惑。下面我將就一個簡單的例子來說明一下它們的區別。看透以後也許也就不那麼疑惑了。

C語言檔案函式——fputcfgetc

C語言fputc()函式:寫檔案函式(將一指定字元寫入檔案流中) 標頭檔案: #include <stdio.h> 定義函式: int fputc(int c, FILE * stream); 函式說明:fputc 會將引數c 轉為unsi

C語言之檔案——fscanf(),fprintf()詳解

1.fscanf():從檔案指標fp指向的檔案中,按format中對應的控制格式讀取資料,並存儲在agars對應的變數中; 原型: fscanf(FILE *fp, const char *forma

C語言變數名及函式名的命名規則與駝峰命名法

一、C語言變數名的命名規則:(可以字母,數字,下劃線混合使用) 1. 只能以字母或下劃線開始;2. 不能以數字開始;3. 一般小寫;4. 關鍵字不允許用(eg:int float=2//error  float 為保留字不允許用); 二、函式名的命名規則 1.見名知意;2.自定義函式函式名首字

C語言檔案的

對檔案的讀和寫是最常用的檔案操作。在C語言中提供了多種檔案讀寫的函式: 字元讀寫函式  :fgetc和fputc 字串讀寫函式:fgets和fputs 資料塊讀寫函式:freed和fwrite 格式化讀寫函式:fscan

C語言二進位制方式檔案資料

fwrite(buffer, size, count,fp):以二進位制的形式向指定的檔案中寫入若干資料項(由count決定),返回實際寫入的資料項數目,各引數含義如下: buffer:一個儲存區的起始地址,以該地址開始的儲存區的資料即是儲存到檔案中的資料,可以是陣列或指標型別; siz

C語言的輸入輸出函式(學習筆記)

文章目錄 c語言中的基本輸入與輸出函式 1.格式化輸入輸出函式 1.1printf()函式 1.2scanf()函式 2.非格式化的輸入輸出函式 2.1puts()和gets()函式

C語言-自我學習-檔案

人懶要多記筆記 C語言讀寫檔案 End Of File,在電腦的術語縮寫通常為 EOF,在作業系統決定資料源無更多的資料可讀取。資料源通常稱為檔案或串流。 關鍵物件 fopen ->應該是指向Fileopen物件 fprintf ->應該

C語言學習及應用筆記之七:C語言的回撥函式及使用方式

  我們在使用C語言實現相對複雜的軟體開發時,經常會碰到使用回撥函式的問題。但是回撥函式的理解和使用卻不是一件簡單的事,在本篇我們根據我們個人的理解和應用經驗對回撥函式做簡要的分析。 1、什麼是回撥函式   既然談到了回撥函式,首先我們就要搞清楚什麼是回撥函式。在討論回撥函式之前,我們需要說明另一個概念,

C語言呼叫靜態庫函式動態庫函式的方式

C語言中呼叫動態庫函式的兩種方式 方式一.隱式呼叫 將動態庫的相關檔案拷貝到當前目錄下(lib、dll),然後新增以下程式碼,在程式中指定連線庫函式。 注意:第二個引數給出的是引入庫檔案(或稱“匯出庫檔案”),而不是dll。在程式執行過程中,lib將dll中需要用到的函式對映到對應的記憶

c語言的回撥函式

先來一段程式碼 #include<stdio.h> void show(void(*ptr)()){  (* ptr)();   } void show1(){ printf("hello world"); } void show2(){ printf("ni

常用的C/C++文字檔案的函式

一. 概述 文字檔案的讀寫是演算法研究和工程應用中常見的功能模組。C和C++的標準庫中提供了多種文字檔案的讀寫方法,我們一般都會掌握其中比較習慣使用的一種或幾種方法。解決問題的方法不在多,而在精。經過在網上的資料搜尋和總結,這裡我對實際程式設計中經常用到的幾類

C語言處理字串的函式

在C語言中有許多字串處理函式,在寫程式的時候常常想不起來或則不瞭解區別,今天就花點時間將這些函式做個總結,以便以後查詢使用。 一、輸入函式 scanf 與 scanf_s 函式 char buf[10] = { 0 }; scanf("%s",

黑馬程式設計師——C語言基礎——檔案實戰

今天覆習的是C語言中另一塊比較重要的部分,檔案的讀寫操作。 在複習過後,還是以一道程式設計題來鞏固一下今天的學習成果: 檔案的讀寫操作程式設計實戰:         1.編寫一個函式,執行後可以錄入一句話(字串又使用者輸入)。         2.在每次輸入儲存後,

C語言常用的庫函式

C語言中常用的標頭檔案如下: <assert.h> 斷言             <float.h> 浮點數運算 <locale.h> 本土化           <math.h> 數學函式 <signal.h>

c語言一些常用的函式

1.sscanf() char s[100]; scanf("%s", s); int v; sscanf(&s[1], "%d", &v); 輸入s :(112, 334)  輸入s

C語言的那些庫函式(持續更新

1.【exit()】        exit是在呼叫處強行退出程式,執行一次程式就結束。exit(0)表示正常退出。exit(1)表示異常退出,這個1是返回給作業系統的。無論是寫在main函式中,還是在其他函式中,都是程式退出。一般都是認為0是正常退出、其他數字是異常退出。所

C語言建立與txt檔案

#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { FILE *fp = fopen("loss.txt", "w"); if (fp == NU