我正在尝试将一些整数写入文件(作为字符串。)每次我尝试运行这段代码时,我都会将整数写入文本文件,就像计划一样,但在整数之前,我会得到一些胡言乱语。我做了一些实验,发现如果我什么都没有放入System :: String ^ b,它会给文件或消息框提供相同的乱码输出,但我无法弄清楚为什么它会这样做如果我将这些整数连接起来(作为字符串)。这里可能出现什么问题?
using namespace msclr::interop;
using namespace System;
using namespace System::IO;
using namespace System::Text;
...
System::IO::StreamWriter ^ x;
char buffer[21], buffer2[3];
int a;
for(a = 0; a < 10; a++){
itoa(weight[a], buffer, 10);
strcat(buffer, buffer2);
}
System::String ^ b = marshal_as<String^>(buffer);
x->WriteLine(b);
答案 0 :(得分:0)
该文件的格式是什么?您可能正在阅读带有字节顺序标记的UTF-8文件,该文件由文本编辑程序静默应用。
答案 1 :(得分:0)
有问题的错字或代码中的错误:将buffer2
传递给itoa
而不是buffer
。
另外,将buffer
初始化为""
;