我目前正在开发一款iPhone游戏,它通过TCP将声音文件发送到服务器程序。 TCP传输运行良好(我已经尝试使用缓冲区来检查它是否与声音文件匹配,它确实如此)。问题是......我想将声音文件写在服务器上自己的文件夹中。每个游戏都有其唯一的gameID,gameID应该是服务器上的文件夹名称。
我的写文件功能目前如下所示:
void PacketInterpreter::makeFile(int gameID, std::string buffer){
std::string gameIDdir = "mkdir " + std::to_string(gameID);
std::system(gameIDdir.c_str());
std::string constructedPath = std::to_string(gameID);
constructedPath += "/";
std::ofstream thisFile;
thisFile.open(constructedPath+"sound.caf");
thisFile << buffer;
thisFile.close();
std::cout << "File assembled at " << constructedPath << "sound.caf" << std::endl;
}
一切似乎都运行良好 - 缓冲区包含文件数据,函数打印最后一句,函数返回。唯一的错误是...当我在构造目录中查找文件时,它不存在。
我做错了什么?操作系统是OSX 10.9先谢谢!