[英]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.