gpt4 book ai didi

C: 没有那个文件或目录

转载 作者:太空宇宙 更新时间:2023-11-04 05:19:39 25 4
gpt4 key购买 nike

当我将 open(chemin, O_RDONLY) 中的 chemin 硬编码为文件名时,程序可以运行,但是当我离开 if 到 open(chemin , O_RDONLY) 我得到 No such file or directory

为什么不使用 type_fichier 中的 chemin

当我在 type_fichier 中使用 printf("%s", chemin) 时,我得到了 '

int type_fichier(char * chemin) {
int fp;
if ((fp = open(chemin, O_RDONLY)) == -1) { perror(""); exit(0); }

struct stat fileStat;
if(fstat(fp, &fileStat) < 0)
return 1;

switch(fileStat.st_mode & S_IFMT) {
case S_IFBLK: printf("block device\n"); break;
case S_IFCHR: printf("character device\n"); break;
case S_IFDIR: printf("directory\n"); break;
case S_IFIFO: printf("FIFO/pipe\n"); break;
case S_IFLNK: printf("symlink\n"); break;
case S_IFREG: printf("regular file\n"); break;
case S_IFSOCK: printf("socket\n"); break;
default: printf("unknown?\n"); break;
}
}

int main(int argc, char *argv[]) {
char fn = "file";
type_fichier(&fn);
}

最佳答案

你的错误在这里,你只为 fn 分配了 1 个字符:

char fn = "file";
type_fichier(&fn);

你可能想要:

const char *fn = "file";
type_fichier(fn);

关于C: 没有那个文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16926726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com