程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> stream-c++把double,int等數據類型直接寫入文本文件,不要先變成字符串再寫入,如何寫?

stream-c++把double,int等數據類型直接寫入文本文件,不要先變成字符串再寫入,如何寫?

編輯:編程綜合問答
c++把double,int等數據類型直接寫入文本文件,不要先變成字符串再寫入,如何寫?

比如0是int類型有4個字節就寫4個字節,不要變成字符0再寫入。還有必須能跨平台可運行於linux的。
我的代碼這麼寫
int i1=2;
ofstream output("./1.txt", ios::binary);
output<<i1;

結果1.txt文件中保存字符2,我不是指定二進制方式ios::binary進行輸出了嗎?為什麼還存放字符2呢??這樣不行該怎麼寫呢?

望高手賜教啊,在線等著!

最佳回答:


知道答案了,應該這麼寫:

int i1=2;
ofstream output("./1.txt", ios::binary);
output.write((char*)(&i1),sizeof(i1)); //寫入

int i2=0;
ifstream input("./1.txt",ios::binary);
input.read((char*)(&i2),sizeof(i2)); //讀取

這可以滿足需求,還有其他方法嗎?

zhuwt2008
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved