@avion123678

Ввывод сообщения об успешном завершении программы в с++?

Здравствуйте, после выполнения кода на macos появляется команда об успешном завершении функции в середине программы. Но так только на macos в windows подобного нет.
P.S.
IDE: Xcode
Код:
#include <iostream>
#include <cstdlib>

using namespace std;

int sum(int n) {
    int sum = 0;
    while (n) {
        sum += n;
        n--;
    }
    return n + sum;
}

int main() {
    int n;
    
    cout << "Кол-ва нат чис: ";
    cin >> n;
    
    cout << sum(n);

    return 0;
}

Вывод программы при n = 10:
Кол-ва нат чис: Program ended with exit code: 010
55
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mercury13
Программист на «си с крестами» и не только
Вопрос в буферизации потоков ввода-вывода. Разумеется, на Windows и OSX эти подробности устроены по-разному. Два модификатора, std::endl и std::flush, сбрасывают буфера.
cout << "Кол-ва нат чис: " << std::flush;
    cin >> n;
    
    cout << sum(n) << std::endl;
Ответ написан
Комментировать
@majstar_Zubr
C++, C#, gamedev
Windows просто так не скажет код завершения, его нужно вы вытягивать, например, вот так:

@echo off
 
rem A batch file which captures the app's return value.

set arg1=%1
rem using for executable

set arg2=%2
rem using for argument #1

shift
shift
rem Abling to use bat with arguments

%1 %2

@if "%ERRORLEVEL%" == "0" goto success
 
:fail
  echo This application has failed!
  echo return value = %ERRORLEVEL%
  goto end
:success
  echo This application has succeeded!
  echo return value = %ERRORLEVEL%
  goto end
:end
echo All Done
exit /B %ERRORLEVEL%
/code>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы