我有一個關於put
或fstream.h
的其他衍生產品的問題。我可以肯定的代碼的可移植性時,我想簡單地寫東西,像這樣:傳遞數值時,將函數放入fstream.h中導致C++可移植性問題
#include <fstream>
#include <iostream>
using namespace std;
typedef unsigned char u8;
int main()
{
fstream f;
u8 ch;
f.open("deneme.txt",ios::out|ios::binary);
f.put(129);
f.close();
return 0;
}
當我寫128
到put
功能(需要char值作爲參數的類型),我花了一個€但129
,它在文本文件中沒有任何內容。我看不到,無法選擇。雖然光標出現在文件開始處,但記事本的行,列指針有趣地說1,2
所以,有些東西,但它是不可見的。另外根據教程,這與我所記得的一樣。我可以在0
和255
之間書寫而不會出現可移植性問題。爲了確保它在所有平臺(編譯器/操作系統等)中以二進制形式正確寫入。我擔心的原因是其價值範圍可能從平臺變爲平臺的char
類型。 Put函數是否存在這樣的可移植性問題,或者我是否需要長期擔心?好的,我知道該怎麼處理這個話題了。謝謝大家試圖幫助我。
我看了一下這段代碼,刷新了編輯頁面。粘貼,選擇,點擊格式按鈕,完成。 – chris
感謝您的更新。我會習慣它的時間:) – user2561614
'ios :: binary' ...「文本文件中沒有任何內容」。那就是你的問題,就在那裏。 – MSalters