Возвращаемое значение программы командной строки - PullRequest
3 голосов
/ 12 марта 2011

У меня проблема, и я не знаю, правильна ли моя программа или нет. Пожалуйста, дайте мне знать ваши идеи?

Проблема: создайте программу файла процесса в командной строке, а возвращаемая программа - это номер обработанного файла.

Моя программа: в функции main () я возвращаю номер обработанного файла.

Это правильно? Если правильно, как я могу получить это значение из другой программы?

Пожалуйста, помогите мне?

Ответы [ 3 ]

5 голосов
/ 12 марта 2011

Вы можете просто использовать возврат.Общее возвращаемое значение для успеха равно 0, а все остальное считается ошибкой.

int main()
{
 ...

return 0;
}

Чтобы получить значение для другой программы, вы можете использовать системный вызов http://en.wikipedia.org/wiki/System_(C_standard_library)

или используйте скрипт bash, например:

Отредактировано, спасибо Эван Теран:

  myProgram; 
    V=$?; 
    program1 $V
3 голосов
/ 12 марта 2011

main () может вернуть «код выхода» в ОС, используя функцию выхода (код)

#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
    cout<<"Program will exit";
    exit(1); // Returns 1 to the operating system

    cout<<"This line is never executed";
}

Затем в вызывающей программе вы можете проверить возвращенный код завершения, например (вызывающий является командным файлом):

@echo off
call yourapp.exe
echo Exit Code = %ERRORLEVEL%
0 голосов
/ 12 марта 2011

Это верно. Код результата программы является возвращаемым значением функции main.

...