【发布时间】:2018-06-06 21:41:16
【问题描述】:
#include "stdafx.h"
#include "Compiler.h"
#include <fstream>
int main() {
std::ofstream output("file.bin", std::ios::binary | std::ios::trunc);
if(output.fail()) {
return 1;
}
std::vector<unsigned char> f = Runtime::convert_line_to_instructions("rt_reg str Hello");
for(unsigned char i : f) {
//output.write(reinterpret_cast<char*>&i, sizeof(unsigned short)); doesn't work here.
}
std::cerr << "Program Compiled!" << std::endl;
while(true);
return 0;
}
如何将无符号字符向量保存到文件中?我尝试了几种解决方案(包括被注释掉的那个),但都没有奏效。
*convert_line_to_instructions 也返回一个无符号字符向量。
【问题讨论】:
-
如果数据是
unsigned char的简单数组,您将如何保存数据? -
sizeof(unsigned short)为什么要用short来表示char的大小? -
@PaulMcKenzie 真的一样。您也可以使用范围循环解析数组。
-
output << i;完成 -
@manni66 似乎不起作用。文件大小仍为 0 字节。