Store output of system(file) command as a string in C

后端 未结 3 1281
你的背包
你的背包 2021-01-19 05:02

To get the type of file we can execute the command

system(\"file --mime-type -b filename\");

The output displays in to terminal.But could

3条回答
  •  既然无缘
    2021-01-19 05:15

    You can use popen like this:

    #include 
    #include 
    
    int main( int argc, char *argv[] )
    {
      FILE *fp;
      char file_type[40];
    
      fp = popen("file --mime-type -b filename", "r");
      if (fp == NULL) {
          printf("Failed to run command\n" );
          exit -1;
      }
    
      while (fgets(file_type, sizeof(file_type), fp) != NULL) {
          printf("%s", file_type);
      }
    
      pclose(fp);
    
      return 0;
    }
    

提交回复
热议问题