Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS中的fprintf,未打开文件 #包括 int main() { 文件*fp; int i; fp=fopen(“tyxaioi.txt”,“w”); 如果(fp==NULL) printf(“Den vre8ike\n”); 对于(i=1;i_C_Macos - Fatal编程技术网

MacOS中的fprintf,未打开文件 #包括 int main() { 文件*fp; int i; fp=fopen(“tyxaioi.txt”,“w”); 如果(fp==NULL) printf(“Den vre8ike\n”); 对于(i=1;i

MacOS中的fprintf,未打开文件 #包括 int main() { 文件*fp; int i; fp=fopen(“tyxaioi.txt”,“w”); 如果(fp==NULL) printf(“Den vre8ike\n”); 对于(i=1;i,c,macos,C,Macos,文件已创建,但您不知道它在哪里 由于文件名前面没有目录路径,因此您正在当前工作目录中创建文件,即(对于在Xcode中运行的程序)在生成时创建可执行文件的目录 要查找名为tyxaioi.txt的文本文件,请首先激活Xcode项目的窗口 在左侧边栏上打开文件夹Products,您应该会看到一个代表可执行文件的图标 右键单击该图标并选择“在Finder中显示” 在同一目录中,您将看到您的文本文件 例如,如果该行为不是您想要的,您可以指定一个绝对路径 #include <stdio.h>

文件已创建,但您不知道它在哪里

由于文件名前面没有目录路径,因此您正在当前工作目录中创建文件,即(对于在Xcode中运行的程序)在生成时创建可执行文件的目录

要查找名为
tyxaioi.txt的文本文件,请首先激活Xcode项目的窗口

在左侧边栏上打开文件夹Products,您应该会看到一个代表可执行文件的图标

右键单击该图标并选择“在Finder中显示”

在同一目录中,您将看到您的文本文件

例如,如果该行为不是您想要的,您可以指定一个绝对路径

#include <stdio.h>

int main()
{
    FILE *fp;
    int i;
    fp=fopen("tyxaioi.txt","w");
    if(fp==NULL)
        printf("Den vre8ike\n");
    for(i=1;i<=25;i++)
        fprintf(fp,"%d\n",i);
    fclose(fp);
    return 0;  
}
用主文件夹的名称替换
xxxx
;该文件将在桌面上创建


顺便说一句:如果您无法打开文件,您应该打印一条有意义的消息并退出(或处理错误):

if(fp==NULL){
fprintf(stderr,“无法打开文件进行写入。\n”);

return 1;//使用调试器查看发生了什么。我没有和OSx终端,但它在debian和gcc 4.7上对我有效。你在当前目录中有写权限吗?你在哪里查找文件?Xcode在一个奇怪的子目录中运行程序,这可能不是你所期望的。它甚至不打印
“Den vre8ike”
(无论它是什么意思;-)?我的第一个答案是错误的。你现在可以检查一下,它是正确的。OP的代码在当前工作目录中创建了一个文件,而不是在
/
。我对这个答案投了赞成票,因为有一行内容是:右键单击该图标并选择“在Finder中显示”“。我的输出文件隐藏在目录库/Developer/Xcode/DerivedData/[Project name]-[long lowercase string]/Build/Products/Debug/中,在查找器中搜索时未被发现,最后由此答案的建议显示。
fp=fopen("/Users/xxxx/Desktop/tyxaioi.txt","w");
if(fp==NULL) {
    fprintf(stderr, "Can't open the file for writing.\n");
    return 1; // <====
}