假設我已將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