【发布时间】:2011-05-10 23:44:06
【问题描述】:
代码很简单:
#include <iostream>
#include <fstream>
#include <string>
int main(int argc, char* argv[] )
{
std::ofstream theStream;
theStream.open("trash.txt");
theStream << "some words" << std::endl;
theStream.close();
}
如果我从命令行运行它,那么我会在同一目录中获得预期的文件。如果将可执行文件的内容打包到 MacOS .app 中,则不会在任何地方写入文件。 (或者也许它只是被立即删除了?)
这是我用来将可执行文件放入 .app 的简单脚本。也许这就是我要出错的地方。
#!/bin/bash
appName=MyApp
if [ $1 ]
then
appName=$1
else
echo "usage: convertToApp executableFile"
exit
fi
if [ -e "$appName" ]
then
mkdir $appName.app
mkdir $appName.app/Contents
mkdir $appName.app/Contents/MacOS
mkdir $appName.app/Contents/Resources
cp $appName $appName.app/Contents/MacOS/$appName
echo -n 'APPL????' > $appName.app/Contents/PkgInfo
else
echo "specified file does not exist"
fi
知道为什么我看不到我想看的文件吗?
【问题讨论】:
-
您希望文件出现在哪里?你为什么希望它出现在那里?
-
当应用程序作为应用程序而不是作为文件运行时,您需要考虑应用程序的当前工作目录是什么。
标签: c++ macos fileoutputstream