gpt4 book ai didi

c - 编译代码时对 'main' 的 undefined reference

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

我创建了一个 C 程序来创建目录和文件。

我试过调试错误,但没有成功

#include <dirent.h>
#include <errno.h>
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>

create_dir(char* outputdir,char* str_outpath,char* value){

DIR* dir = opendir(outputdir);
FILE *f;

if (dir) {
/* Directory exists. */
closedir(dir);
} else if (ENOENT == errno) {
/* Directory does not exist. */
mkdir(outputdir, 0700);
closedir(dir);
printf("Successfully created the directory %s ", outputdir);

} else {
printf("Creation of the directory %s failed",outputdir);
/* opendir() failed for some other reason. */

}

f = fopen(str_outpath, "a");
fprintf(f,"%s",value);
fclose(f);

}

我要它成功创建文件和目录

最佳答案

正如其他人所提到的。您没有主要功能。您的 create_dir 函数也缺少类型。我会假设它是无效的,因为你没有返回任何东西。这应该编译。

#include <dirent.h>
#include <errno.h>
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>

void create_dir(char* outputdir,char* str_outpath,char* value){

DIR* dir = opendir(outputdir);
FILE *f;

if (dir) {
/* Directory exists. */
closedir(dir);
} else if (ENOENT == errno) {
/* Directory does not exist. */
mkdir(outputdir, 0700);
closedir(dir);
printf("Successfully created the directory %s ", outputdir);

} else {
printf("Creation of the directory %s failed",outputdir);
/* opendir() failed for some other reason. */

}

f = fopen(str_outpath, "a");
fprintf(f,"%s",value);
fclose(f);
}

int main(){
char directory[] = "/users/me/documents/testdir";
char filepath[] = "testfile";
char data[] = "hello world";
create_dir(directory,filepath,data);
return 0;
}

我没有执行代码来检查它是否有效。我只是复制并粘贴了你的并调用了函数。

关于c - 编译代码时对 'main' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57103174/

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