假设我已将myname.c编译为获取可执行文件myname。 我想命令后打印操作系统名称:在C中打印系统名称?
$ MYNAME --system名
输出:Linux的
这里是我迄今为止
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/utsname.h>
int main(int argc, char **argv) {
struct utsname buffer;
char str[70];
scanf("%[^\n]",str);
if (uname(&buffer) == system-name){
printf(
"%s",
(&buffer)->sysname,
);
}
问题是什么?这是什么情况'如果(uname(&缓冲区)==系统名称){''应该做的?您正在阅读'str',但没有在任何地方使用。它的目的是什么? –
由于误解,我尝试使用uanme()函数来获取关于系统的一些信息,并且我想创建多个条件,在用户输入特定名称(例如:$ myname --system name)之后将printf将输出当前的系统Linux。 –
你的意思是if(strcmp(str,“system-name”)== 0)'看看用户是否输入了'system-name'? – Barmar