文件目录不工作 - Mac/Unix 系统

问题描述 投票:0回答:1

背景:我使用 Mac/Unix 并在 Visual Studio 上用 C 编写代码。

我正在尝试使用相对文件路径将 Excel 文件从计算机目录复制到字符数组“filedata”中。 为了实现此目的,我将当前工作目录(使用 getcwd() 函数)复制到 Fileaddr 字符数组中,然后将文件名附加到当前目录字符串的末尾。 不幸的是,fopen() 函数始终无法打开,如“失败”文本所示,由于 fp 为 NULL,该文本不断打印。 我直接在 Visual Studio 和终端中进行了测试。

为了测试上述内容,我在程序中打印了通过puts(字符串的连接值)发送到fopen()的字符串。 从那里,我发送了命令“打开[直接从终端内的 Visual Studio 打印文本复制的文件路径]”,并且文件在 Excel 中正确打开。 当我在没有“打开”命令的情况下键入上述内容时,我收到“权限被拒绝”错误(不确定这与问题有关。无论如何,我的代码如下。有关找出问题所在的任何建议或者我该如何解决它?

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>

#define MAXADDRSIZE 10000
#define MAXFILESIZE 1000000

int main()
{
    char Fileaddr[MAXADDRSIZE];
    getcwd(Fileaddr, MAXADDRSIZE);
    char Filedata[MAXFILESIZE];
    strncat(Fileaddr, "/MonthlyStateReport.xlsx\0", 30);
    puts(Fileaddr);
    FILE * fp=fopen(Fileaddr, "R");
    if(fp==NULL)puts("failure");
    fclose(fp);
}
c visual-studio file fopen getcwd
1个回答
0
投票

我在抖音上得到了xiaospy1平台的帮助

© www.soinside.com 2019 - 2025. All rights reserved.