簡體   English   中英

C ++:如何直接寫入文件(無ASCII)?

[英]C++: How to write to a file directly (no ASCII)?

我需要直接寫入文件(文件格式/擴展名無關緊要)。 我想要做的是,例如,向其中寫入A,如果我使用十六進制編輯器打開了文件,它將顯示A,也就是十進制的值10。

#include <iostream>
int main()
{
    std::ofstream fout("myfile.ext", std::ios::binary);
    std::ofstream::char_type byte = 10; //or = 0xA
    fout.put(byte);
}

好吧,如果您在文件中寫入'A' ,則我希望十六進制編輯器顯示41。

但是,假設我們有一個int x = 0xa; ,那么將其寫入文件的方法是:

int x = 0xa;
ofstream out("myfile.txt", ios::out|ios::binary);

out.write((char *)&x, sizeof(x)); 

out.close();

請注意,此代碼不是高度可移植的,因為int大小和整數中字節的順序可能因體系結構而異。

暫無
暫無

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

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