簡體   English   中英

在用C語言打開的文件中,x模式的對應詞是哪個?

[英]Which is the corresponding word of the x mode on open files in C language?

使用c語言在打開的文件上x模式的對應單詞是哪個? 我已經在互聯網上搜索了一段時間,但沒有答案。 我如何獲得相關信息? 請幫助我,謝謝!

根據C11標准[7.21.5.3§5] fopen函數 (強調我的):

如果文件已經存在或無法創建,則使用排他模式'x'作為mode參數的最后一個字符)打開文件失敗。 否則,將在基礎系統支持獨占訪問的范圍內以獨占(也稱為非共享)訪問來創建文件。

因此, x確實是“獨占模式”的縮寫。

最新的C標准C11提供了新的模式“ x”,這是專有的創建和打開模式。 模式“ x”可與任何“ w”說明符一起使用,例如“ wx”,“ wbx”。 當x與w一起使用時,如果文件已經存在或無法打開,則fopen()返回NULL。 不會覆蓋現有文件的C11程序。

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

int main()
{
    FILE *fp = fopen("test.txt", "wx");
    if (fp == NULL)
    {
        puts("Couldn't open file or file already exists");
        exit(0);
    }
    else
    {
        fputs("stack overflow", fp);
        puts("Done");
        fclose(fp);
    }
    return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM