2011-05-22 62 views
1

我在Mac OS 10.4上编写香草C代码。我只是想打开()一个文件,以便在可执行文件附近写入文件夹。香草C fopen路径到相邻的文件夹

我不能为我的生活弄清楚 路径名的正确语法。

FILE *fout; 

fopen(fout, "foldername/filename", "w") 

肯定不行。

我愿意回到根部,如果有必要,但不能 数字,一个出来,要么。

有人可以帮助这个“简单”的问题吗?

+3

你得到了什么错误信息? – 2011-05-22 02:00:26

+2

不应该是'fout = fopen(“文件夹名称/文件名”,“w”);'? – MByD 2011-05-22 02:01:29

+0

@MByD:你是绝对正确的:'FILE * fopen(const char * path,const char * mode);' – 0xC0000022L 2011-05-22 02:27:23

回答

3

如果进程的当前工作目录是/Users/you/your_program,并且希望在/Users/you/foldername/filename的文件,然后你需要指定:

fp = fopen("../foldername/filename", "w"); 

..向上移动一个级别。这是Unix和Windows上的模式。这是“相邻”的合理解释 - 它在层次结构中与当前层次相同的文件夹中创建文件。

+0

当然,对fopen的调用在问题中已经是明显错误的了。那么还有什么/失踪?仍+1。 – 0xC0000022L 2011-05-22 02:48:51

+0

@STATUS:我甚至没有注意到函数调用被滥用得如此糟糕。 – 2011-05-22 04:16:32

+0

当我回复您的电子邮件时,Jonathan说,“路径”在名为../foldername/filename的可执行位置创建一个文件 – Paul 2011-05-23 06:08:58