我正在尝试学习C ++而我正在使用Xcode。我有以下main
方法:
int main()
{
const int SIZE = 256;
Expression* expression;
char paren, comma, line[SIZE];
ifstream fin("input.txt");
while (true)
{
symbolTable.init();
fin.getline(line, SIZE);
if (!fin)
break;
stringstream in(line, ios_base::in);
in >> paren;
cout << line << " ";
expression = SubExpression::parse(in);
in >> comma;
parseAssignments(in);
double result = expression->evaluate();
cout << "Value = " << result << endl;
// catch the exceptions
return 0;
}
}
我在哪里放置文件"input.txt"
以便程序可以读取它?
答案 0 :(得分:2)
ifstream
的文件名参数通常被视为working directory的相对路径,以便您放置文件。
如果从文件管理器启动可执行文件,则进程的工作目录很可能会设置为可执行文件所在的目录。在这种情况下,文本文件应位于同一目录中。
答案 1 :(得分:0)
所有相对路径(在OS X上,任何不以斜杠开头的路径,“/”)都相对于进程'工作目录进行解释。
如果您从终端运行,它应该在终端的当前目录中(即ls
应该列出它)。
如果您从XCode内部运行,则有一个项目设置,其目录应该是工作目录 您可以将其设置为文件所在的位置,或将文件移动到该目录所在的位置。