1. 程式人生 > >檔案操作(三)(四)

檔案操作(三)(四)

* fwrite 和 fread *

#include<stdio.h>
int main()
{
    struct student
    {
        char name[20];
        int age;
        int num;
    }mystudent;

    FILE *fp;
    fp = fopen("bal.txt", "w");
    while (1)
    {
        printf("請輸入學生的姓名,年齡,學號\n");
        scanf("%s%d%d", mystudent.name, &mystudent.age, &mystudent.num);
        fwrite(&mystudent, sizeof(struct student), 1
, fp); printf("是否繼續輸入?(Y/N)\n"); fflush(stdin); int ch = getchar(); if (ch == 'N' || ch == 'n') { break; } } } fclose(fp); FILE *fr; fr = fopen("bal.txt", "r"); while (1) { fread(&mystudent, sizeof(struct student), 1, fr); printf
("%s\t%d\t%d\t", mystudent.name, mystudent.age, mystudent.num); printf("是否退出?(Y/N)\N"); fflush(stdin); int ch = getchar(); if (ch == 'N' || ch == 'n') { break; } } fclose(fr);

fprintf 和 fscanf

#include <stdio.h>
struct student
{
    char name[20];
    int age;
    int
num; }mystudent; int main() { FILE *fp; if ((fp = fopen("test.txt", "w")) == NULL) { printf("檔案開啟失敗\n"); system("pause"); return 0; } while (1) { printf("請輸入學生的姓名,年齡,學號:\n"); scanf("%s%d%d", mystudent.name, &mystudent.age, &mystudent.num); // fscanf(read, "%s\t%d\t%d\t", mystudent.name, &mystudent.age, &mystudent.num); fprintf(fp, "%s\t%d\t%d\t", mystudent.name, mystudent.age, mystudent.num); printf("是否繼續輸入(Y/N)\n"); fflush(stdin); //清空快取區 int ch = getchar(); if (ch == 'N' || ch == 'n') { break; } } fclose(fp); FILE *read; if ((read = fopen("test.txt", "r")) == NULL) { printf("檔案開啟失敗\n"); system("pause"); return 0; } while (1) { printf("請輸入學生的姓名,年齡,學號:\n"); fscanf(read, "%s\t%d\t%d\t", mystudent.name, &mystudent.age, &mystudent.num); fprintf(fp, "%s\t%d\t%d\t", mystudent.name, mystudent.age, mystudent.num); printf("是否繼續輸入(Y/N)\n"); fflush(stdin); //清空快取區 int ch = getchar(); if (ch == 'N' || ch == 'n') { break; } } fclose(fp); system("pause"); return 0; }