C語言 "w+" "a+"《文件讀寫》


經查找一些資料,並且親自實驗之后得出:

r+:打開已存在的文件時,光標位於開頭,文件可讀,可寫,

  寫數據時,由於光標位於開頭,所以會覆蓋原有數據

w+:打開的文件已存在時,將覆蓋原文件

a+:打開已存在的文件時,光標位於文件尾,文件可讀,可寫

  讀數據時,光標會回到開頭

FILE *Binfid;
h_u32 framenum = 0;
h_s32 frameformat = 0;
char filename_last[256] = "output.txt";
void vs_printf_open(char filename[], int framenum1, int format)
{
    int temp_str = 0;
    temp_str = strcmp(filename, filename_last); // strcmp返回的規律是什么?

    do
    {
        if (temp_str != 0)
        {
            Binfid = fopen(filename, "w+");
        }
        else
        {
            Binfid = fopen(filename, "a+");
        }
    } while (Binfid == NULL); // 為什么寫成 do while???
    if (Binfid == NULL)
    {
        printf("this is error!\r\n");
    }
    framenum = framenum1;
    frameformat = format;
    memcpy(filename_last, filename, sizeof(char) * 256); // 保證每一幀切換時,是添加
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM