C++ 一次读取一个字节的unicode
我正在尝试创建一个简单的加密解密程序(仍然停留在I/O阶段,tho):C++ 一次读取一个字节的unicode,c++,unicode,C++,Unicode,我正在尝试创建一个简单的加密解密程序(仍然停留在I/O阶段,tho): ifstreamf(“a.in”,ios::binary); 流g(“a.out”); 字符x1,x2; int x,j=0; f、 get(x1); while(f.get(x2)) { 如果(j==10) { g试试看 f、 读取(&x1,1) get()用于文本,而不是二进制数据。您正在读取sizeof(char),通常一次读取8位。您能提供一个吗?我知道,在我的机器上,它是8位的,这就是为什么我假设它可以与unico
ifstreamf(“a.in”,ios::binary);
流g(“a.out”);
字符x1,x2;
int x,j=0;
f、 get(x1);
while(f.get(x2))
{
如果(j==10)
{
g试试看
f、 读取(&x1,1)
get()用于文本,而不是二进制数据。您正在读取sizeof(char)
,通常一次读取8位。您能提供一个吗?我知道,在我的机器上,它是8位的,这就是为什么我假设它可以与unicode一起工作,问题是,为什么它不工作以及如何使它工作?请,a,不知道“它不工作”是什么意思。您显示的程序不应该崩溃。它是错误的,但不应该崩溃。它似乎是f.read工作的,如果您愿意,我可以公布更改并制作两个ASCII和Unicode输入的打印屏幕。如果我可以问一下,您所说的“它错了”是什么意思?误解了您正在做的事情,道歉为什么,谢谢,这似乎是问题所在,但是,如果路人可以运行它,可能是特定于环境的。
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++;
}