【发布时间】:2018-06-17 16:57:48
【问题描述】:
#include <string>
#include <stdio.h>
#include <pwd.h>
std::string impPath()
{
char *name;
struct passwd *pass;
pass = getpwuid(getuid());
name = pass->pw_name;
std::string PATH = "/home";
PATH.append("/");
PATH.append(name);
return PATH;
}
我需要知道用户的用户名。为此。我正在使用getpwuid(),但出现此错误。
/home/shobhit/Desktop/file.cpp:15: error: 'getuid' was not declared in this scope
pass = getpwuid(getuid());
^
我只是无法弄清楚 getuid 未在此范围内声明的原因是什么。我想我已经包含了所有必要的头文件。(yami 对 R 的回答 getlogin() c function returns NULL and error "No such file or directory" 的评论 我尝试在网上搜索,但找不到任何相关答案。
【问题讨论】:
-
你试过
man getuid吗? -
C 和 C++ 也不是 Java。您不是“包含库”,而是头文件,实际上是源代码。 如果库被使用,那么它们被链接,这是稍后完成的,在源代码的编译之后完成。
-
是的thanx我已经编辑了我的问题。