我有一个 C++ 项目,我已使用 emscripten 将其转换为 javascript。我需要帮助通过节点实现文件输入到程序中。据我了解,emscripten 中的默认文件系统使用只能在网页或网络工作人员上完成的预加载数据。我需要我的在命令行上使用node.js。
查看文档,我发现有一种方法可以使用 NODEFS 而不是默认的 MEMFS,这应该允许我执行此操作。但是,我不确定该怎么做。我不太明白所提供的测试代码。
以下是原始 C++ 项目中文件处理的方式:
void InputFile(std::string &fileName)
{
std::ifstream in(fileName);
if (in.fail())
{
std::cerr << "ERROR, Could not open " << fileName << std::endl;
exit(1);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用文件运行转换后的程序时,node project.js -f test.file我收到错误消息:ERROR, Could not open test.file意味着打开文件失败。原始的 C++ 项目能够打开该文件,没有任何问题,所以我知道文件本身没有问题。
我不确定我必须做什么才能使转换后的项目与文件输入一起工作,任何帮助将非常感激。