[英]Reading unicode one byte at a time
我正在嘗試創建一個簡單的加密-解密程序(仍然停留在I / O上):
ifstream f("a.in", ios::binary);
ofstream g("a.out");
char x1, x2;
int x,j=0;
f.get(x1);
while(f.get(x2))
{
if(j==10)
{
g<<'\n';
j=0;
}
x=x1+x2;
x1=x2;
g<<x<<' ';
j++;
}
現在,該代碼可以完美地與ASCII文本一起運行,但是,對於unicode則不能。
我的想法是,通過一次讀取一個字節(8位類型),我不必擔心多字節字符,並且我認為二進制模式可以做到這一點。
從理論上來說,這聽起來不錯,而實際上卻沒那么多,因為程序在第一個unicode字符時崩潰了。 有人可以在這里指出正確的方向嗎? 我已經在網絡上進行了廣泛的搜索,但是顯然這並不是經常要問的問題。
tl; dr:無論如何顯示,我如何一次讀取8位?
嘗試
f.read(&x1,1);
get()用於文本,而不是二進制數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.