我创建了一个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);
}
我希望它成功创建文件和目录
答案 0 :(得分:4)
正如其他人所提到的。您没有主要功能。 另外,您的create_dir函数缺少类型。我假设它是空的,因为您什么也不会退货。这应该编译。
GroupBox
我没有执行代码来检查它是否有效。我只复制并粘贴了您的函数,然后调用了该函数。
答案 1 :(得分:2)
在大多数情况下,您需要使用C语言的main函数。因此,为了运行您的代码,您需要在该函数的下面有类似以下内容(假设您要从命令行传递参数):
const getMetaD = (mediaID) => {
return new Promise((resolve, reject) => {
let obj = {};
ytdl.getInfo(mediaID, {}, async (err, info) => {
if (err) console.log(err);
let format = await ytdl.chooseFormat(info.formats, { quality: 'highest' });
if (format) {
console.log('Format found!', format);
obj = { url: format.url, thumbnail: info.thumbnail, title: info.title };
}
resolve(obj);
});
})
}
编辑:修复了不检查argc的问题