Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        4年前关闭。
                                                                                            
                
        
假设我有myname.c,将其编译为获取可执行文件myname。
 我想在命令后打印操作系统名称:

$ myname-系统名称

输出: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,
        );

   }

最佳答案

我认为这应该工作(您的缓冲区不是指针,并且if语句不是明智的,并且您还应该在该声明方法中从main返回某些内容):

#include <stdio.h>
#include <stdlib.h>
#include <sys/utsname.h>

int main(int argc, char **argv) {
  struct utsname uts;
  if(uname(&uts) !=0 ) {
    return EXIT_FAILURE;
  }
  printf("%s\n",uts.sysname);
  return EXIT_SUCCESS;
}

关于c - 用C打印系统名称? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35095887/

10-11 15:42