gpt4 book ai didi

c - 太多参数无法运行 'int mkdir(const char*)'

转载 作者:太空狗 更新时间:2023-10-29 17:06:44 25 4
gpt4 key购买 nike

我想在windows下编译一个linux写的程序(我用的是mingw)

void make_directory(const char* name) {
mkdir(name1, name2);
}

出现错误:

Too Many Arguments to function 'int mkdir(const char*)'

有解决办法吗?

最佳答案

如评论中所述,mkdir() 仅采用一个 参数。但是,由于此功能是 deprecated你应该use _mkdir() 改为:

int _mkdir(const char *dirname); 
int _wmkdir(const wchar_t *dirname); /* for wide-character */

如果你想在两个系统(linux/mingw)上使用你的功能:

void make_directory(const char* name)
{
#ifdef __linux__
mkdir(name, 777); /* Or what parameter you need here ... */
#else
_mkdir(name);
#endif
}

编辑:

MinGW 实现:

_mkdir():

_CRTIMP int __cdecl __MINGW_NOTHROW _mkdir (const char*);

mkdir():

_CRTIMP int __cdecl __MINGW_NOTHROW mkdir (const char*);

两者都在 io.h 中指定,但我想最好还是包含 direct.h(在其文件中包含 io.h部分)。

关于c - 太多参数无法运行 'int mkdir(const char*)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102147/

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