gpt4 book ai didi

c - 我如何获得用户的操作系统?

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:57 26 4
gpt4 key购买 nike

我正在编写一个 C 程序,其中一部分需要我获取用户的操作系统。例如,要获取主目录,我可以执行以下操作:

const char *homedir;
homedir = getpwuid(getuid())->pw_dir;
printf("Home dir: %s\n",homedir);

我在 pwd.h 中找不到与操作系统相关的任何内容,我应该查看其他文件吗?

最佳答案

大多数时候(不能保证),C 编译器会定义标识当前操作系统的宏(至少是宏系列)。

例如。要识别 Windows、Linux 和 Mac,您可以执行以下操作:

#import <stdio.h>

typedef enum {

UNKNOWN,
WINDOWS,
LINUX,
OSX

} OS;

OS current_os();

int main() {

printf("%d",current_os());
return 0;

}

OS current_os() {
#ifdef _WIN32
return WINDOWS;
#elif (defined(__APPLE__) && defined(__MACH__))
return OSX;
#elif defined(__gnu_linux__)
return LINUX;
#else
return UNKNOWN;
#endif
}

在我的 Mac 上,这会打印 3,就像它应该做的那样。

您可以找到这些宏的完整列表 here .

关于c - 我如何获得用户的操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28546690/

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