生成rapidjson问题

std::string skillId = “1001”;

rapidjson::Value object(rapidjson::kObjectType);

object.AddMember(“id”, skillId.c_str(), allocator);

打开保存的json文件,这部分数据显示的是乱码

object.AddMember(“id”, “1001”, allocator);

打开保存的json文件,这部分数据显示的是 1001 正常。。

我该如何正确写入std::string呢

不知道是不是文件编码问题呢

StringBuffer buffer;
rapidjson::Writer writer(buffer);
_BattleDataDoc.Accept(writer);

auto path = FileUtils::getInstance()->getWritablePath();
CCLOG("path = %s", path.c_str());
path.append("battledata.json");
FILE* file = fopen(path.c_str(), "wb");
if (file)
{
    fputs(buffer.GetString(), file);
    const char* c = buffer.GetString();
    CCLOG("%s",c);
    fclose(file);
}

这个是生成文件