溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C 文件操作(二)

發(fā)布時(shí)間:2020-05-18 08:15:16 來源:網(wǎng)絡(luò) 閱讀:389 作者:Aonaufly 欄目:編程語言

本篇講解使用C進(jìn)行二進(jìn)制文件的讀寫。

1,文件的寫:

#include <stdio.h>
#include <stdlib.h>
#define FILE_PATH "txt.lib"
int main()
{
    system("color 2A");
    FILE * fp = NULL;
    fp = fopen(FILE_PATH,"w");
    if(!fp)
    {
        printf("打開文件%s失敗\n",FILE_PATH);
        return 0;
    }
    int a = 123;
    fwrite(&a,sizeof(a),1,fp);
    fclose(fp);
    return 0;
}

結(jié)果如下:

C 文件操作(二)

將上面的123讀出來:

#include <stdio.h>
#include <stdlib.h>
#define FILE_PATH "txt.lib"
int main()
{
    system("color 2A");
    FILE * fp = NULL;
    fp = fopen(FILE_PATH,"r");
    if(!fp)
    {
        printf("打開文件%s失敗\n",FILE_PATH);
        return 0;
    }
    int a = 0;
    fread(&a,sizeof(a),1,fp);
    printf("讀取到的數(shù)據(jù)為 : %d" , a);
    fclose(fp);
    return 0;
}

運(yùn)行的結(jié)果為:

C 文件操作(二)

總結(jié) : 二進(jìn)制文件的寫(使用fwrite);讀(使用fread)其中第三個(gè)參數(shù)為(讀/寫的次數(shù))


來一個(gè)稍微復(fù)雜一點(diǎn)的:

寫:

#include <stdio.h>
#include <stdlib.h>
#define FILE_PATH "txt.lib"
int main()
{
    system("color 2A");
    FILE * fp = NULL;
    fp = fopen(FILE_PATH,"w");
    if(!fp)
    {
        printf("打開文件%s失敗\n",FILE_PATH);
        return 0;
    }
    char names[3][50] = {"Aonaufly","Kayer","Ainy"};
    fwrite(names,sizeof(names),1,fp);
    fclose(fp);
    return 0;
}

結(jié)果:

C 文件操作(二)

讀:

#include <stdio.h>
#include <stdlib.h>
#define FILE_PATH "txt.lib"
int main()
{
    system("color 2A");
    FILE * fp = NULL;
    fp = fopen(FILE_PATH,"r");
    if(!fp)
    {
        printf("打開文件%s失敗\n",FILE_PATH);
        return 0;
    }
    char names[3][50] = {};
    fread(names,sizeof(names),1,fp);
    
    
    for( int i = 0 ; i < 3 ; i++ )
    {
        printf("第%d個(gè)名字為:%s\n" , i+1 , *(names + i));
    }
    fclose(fp);
    return 0;
}

讀取的結(jié)果:

C 文件操作(二)


好,至此C的IO操作就此結(jié)束,。。。。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI