Visual Studio에서 int 형식 명령 줄 인수를받는 방법 (C++)

환경


  • Windows 10 Enterprise 2016 LTSB
  • Microsoft Visual Studio 2017

  • 명령줄 인수 설정


  • 툴바의 "프로젝트 (P)"에서 하단의 "속성"을 선택하십시오.

  • 왼쪽의 "구성 속성"아래의 "디버그"를 선택하고 "명령 인수"에 입력 할 인수를 입력하십시오. (이미지에서는 6과 14의 2개로 하고 있다.)

  • 오른쪽 하단의 "OK"를 누릅니다. ( "적용"이라도 좋음)

  • 받은 문자열형의 값을 int형으로 변환


  • std::stoi를 사용하여 문자열 유형을 int 형식으로 변환합니다.
  • std::stoi#include<string>#include<string>, using namespace std;가 없으면 오류가 발생한다고 생각됩니다.
  • #include <iostream>
    #include<string>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
        int atama, asi; //変数の宣言
    
        //引数を変数に格納.
        atama = std::stoi(argv[1]);
        asi = std::stoi(argv[2]);
    
        return 0;
    }   
    

    샘플 코드 (쓰루 카메산)


    #include <iostream>
    #include<string>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
        int atama, asi, turu, kame; //変数の宣言
    
        //引数を変数に格納.
        atama = std::stoi(argv[1]);
        asi = std::stoi(argv[2]);
    
        //鶴と亀の数の計算
        turu = 2 * atama - asi / 2;
        kame = atama - turu;
    
        if (turu < 0 || kame < 0)
        {
            cout << "error" << std::endl;
        }
        else
        {
            cout << "鶴の数:" << turu << std::endl;
            cout << "亀の数:" << kame << std::endl;
        }
        return 0;
    }
    
  • 인수
  • 6
  • 14

  • 실행 결과
  • 鶴の数:5
    亀の数:1
    
    

    이 기사를 쓴 경위·감상


  • 커맨드 라인 인수를 단순히 argv[1] 등으로부터 받으면 문자열형이 되어 있으므로 int형에 사용과 Python과 같이 int(argv[1]) 등으로 하면 에러가 나왔다.
  • 적당히 C++의 형태 변경 방법을 조사하면 (int)argv[1]
  • 문자열에서 int 형식으로 다시 변경하는 방법을 살펴보면 std::stoi가 있었기 때문에 이것을 사용할 수있었습니다.

  • 참고문헌


  • htps : // 마 ry 이것. jp / p 로g / cp / 곤ゔぇ rt st 린 g - nm r /
  • 좋은 웹페이지 즐겨찾기