首页 > 解决方案 > c++ 读取闪存 AIR NativeAplication 参数

问题描述

我制作了一个 AIR 应用程序,它使用 flash.desktop.NativeProcess 来启动一个 c++ a* pathsolver。原因是——Flash 需要太多时间来解决 250 * 250 的开放网格。

AIR 应用程序很好。它可以启动 c++ exe 文件 exe 可以独立运行

问题是。他们不成对工作:(

当 flash 发送参数时,c++ 部分只是默默地死去

char buf[ 256 ]; std::cin.getline( buf, 256 );

我只是没有设法找到正在发生的事情。如果我使用标准输入的参数,我会得到一些奇怪的字符。任何想法 ?

标签: c++actionscript-3air

解决方案


丑陋的黑客,但可以完成工作:D

var f = File.documentsDirectory.resolvePath("command.txt"); 
var stream = new FileStream();
stream.open(f, FileMode.WRITE);  
stream.writeUTFBytes(nextQuery.command + "/" + nextQuery.data);
stream.close();

你可以猜到c++的一面

std::stringstream strmap;
strmap << my_documents << "/command.txt" ;
std::ifstream myfile (strmap.str().c_str());

我称之为

黑市算法


推荐阅读