gpt4 book ai didi

c - getgrnam() 无明显原因导致错误?

转载 作者:行者123 更新时间:2023-11-30 17:53:11 25 4
gpt4 key购买 nike

我收到一个毫无意义的错误。我有以下代码 -

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <grp.h>

gid_t groupIdFromName(const char *name)
{
struct group *grp;
gid_t g;
char *endptr;

if (name == NULL || *name == '\0')
return -1;

g = strtol(name, &endptr, 10);
if (*endptr == '\0')
return g;

grp = getgrnam(name);
if (grp == NULL)
return -1;

return grp->gr_gid;
}

int main(int argc, char** argv) {
return (EXIT_SUCCESS);
}

我在 Linux Mint 中使用 NetBeans,当我尝试并且我的程序构建没有问题时,当我尝试运行它时,我收到以下错误 -

Signal received: SIGSEGV (?) with sigcode ? (?)
From process: ?

如果我注释掉 grp = getgrnam(name); 行,此错误就会消失。但我不明白为什么这一行会导致它失败,特别是因为我的 main 方法是空白的。

最佳答案

我发现很多人在 NetBeans 和 Code::Blocks 中已经遇到这个错误相当长一段时间了。我在 Eclipse 中尝试了代码,效果很好。因此,我的建议是不要在 Linux 上使用 NetBeans 进行 C 开发。

关于c - getgrnam() 无明显原因导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15764546/

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