Как записать вывод программы clang в файл из оболочки - PullRequest
0 голосов
/ 31 августа 2018

Здравствуйте, у меня есть следующая проблема: Я хочу записать вывод программы (в нашем случае c программа) в файл. До сих пор я пытался использовать |, >, но безрезультатно:

main.c

#include<stdio.h>

int main()
{
 printf("Echo World");
 return 3;
}

Команда Bash
gcc main.c => я получаю exe с именем a.exe
./a | test.txt или ./a > test.txt
cat test.txt => Echo World

Какой бы метод я не получил Echo World, что является нормальным, поскольку я направляю stdout программы в файл.
Но не return значение clang программы (в нашем случае *) 1030 *) тоже принадлежат stdout? Как я могу достать это?

1 Ответ

0 голосов
/ 31 августа 2018

Ваше return 3 - это возвращаемое значение вашей заявки, следовательно, оно будет рассматриваться как exit status вашей заявки, которое не будет напечатано в консуле или стандартном выводе. Перенаправление может быть выполнено на stderr (стандартная ошибка) и stdout (стандартный вывод), но не на статус выхода. Чтобы перенаправить статус выхода, вы должны сделать следующее

./a > test.txt
echo $? >> test.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...