我正在尝试编写一个简单的程序: 在while循环中,它接受整数(保证在0、255范围内),将其转换为相应的字符,并将此字符写入文件,直到输入整数为-1。 我用C ++编写,效果很好。代码是:
#include <iostream>
#include <fstream>
using namespace std;
int main(){
char c;
int p;
ofstream myfile;
myfile.open ("a.txt");
while(true){
cin>>p;
if(p == -1)
break;
c = p;
myfile << c;
}
return 0;
}
我也试图用python 3编写相同的程序,代码是:
import sys
file = open("b.txt", "w")
while True:
p = int(input())
if p == -1:
break
c = chr(p)
file.write(c)
问题是,在某些输入上,它们给出不同的输出,例如在输入上:
0
3
38
58
41
0
194
209
54
240
59
-1
C ++提供输出:
0003 263a 2900 c2d1 36f0 3b
和python提供输出:
0003 263a 2900 c382 c391 36c3 b03b
我有测试用例,所以我知道C ++的输出是正确的。 可能是什么问题?