Получить вывод system () в C - PullRequest
0 голосов
/ 17 августа 2011

Я хотел бы поместить число, заданное system("stat -f %g /dev/console"), в переменную (работает в Xcode, используя C). Как это лучше всего достигается?

Ответы [ 4 ]

3 голосов
/ 17 августа 2011

Я бы лучше использовал функцию stat:

struct stat file_details;
stat("/dev/console", &file_details);
printf("group id : %ld\n", (long) file_details.st_gid);
0 голосов
/ 17 августа 2011

Вам нужно использовать popen вместо system, если вы хотите получить выходные данные команды. Э.Г.

#include <stdio.h>

int main(void)
{
   int id = -1;
   FILE *fp = popen("stat -f %g /dev/console", "r");

   if (fp != NULL)
   {
       fscanf(fp, "%d", &id);
       pclose(fp);
   }

   printf("id = %d\n", id);

   return 0;
}
0 голосов
/ 17 августа 2011
#include<stdlib.h>

...

int return_value = system("stat-f %g /dev/console");
0 голосов
/ 17 августа 2011
int variable;
variable = system("stat-f %g /dev/console");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...