簡體   English   中英

當我們在不打開文件的情況下寫入文件時,內部會發生什么?

[英]What happens inside when we write to a file without opening it?

例如,如果我寫入一個文件,該文件不在我的 << 給定要寫入的字符串所在的位置?

int main(int argc, char** argv) {
    fstream my_file;

    if (argc>1)
    {
            my_file.open("my_file.txt", ios::out);
            cout << "File1 created successfully!"<<endl;
    }


    my_file << "Guru99";
    my_file.close();
    cout<<"Done"<<endl;

    return 0; }

它會放在 memory 還是放在 dev/null 類型的區域?

如果您嘗試寫入與文件無關(未打開)的fstream object,您的failbit將被丟棄並設置故障位:

如果無法生成 output,則設置 failbit,如果在此流的異常掩碼中啟用了 failbit 異常,則拋出 ios_base::failure。

https://en.cppreference.com/w/cpp/named_req/FormattedOutputFunction中所述。

暫無
暫無

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

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