string을 16진수형태를 10진수로 변환할때 질문있습니다

choijuo의 이미지

안녕하세요

.C파일에서

string value="010F"

string = "test.sh "+ value.substr(0,2) + " " + value.substr(2,2);

다음과 같이 실행하려고 합니다. 저걸 찍어보면
test.sh 01 0F 이렇게 되는데

저 01 0F 를 10진수로 변환해서 01 15 이렇게 , 한자리면 0이 붙어서 2자리씩 들어가도록 하고 싶습니다.

test.sh 01 15 이렇게요!

value.substr(0.2) 이부분에서 변형을 해줘야할거 같은데 어떤 방법을 쓰면 될까요?

아니면 역으로 test.sh 에서 처리를 해줘야 하나요?? 파라미터를 16진수2자리로 표기하도록??

고수님들 답변 기다리겠습니다..ㅠ

cogniti3의 이미지

.C파일이라고 하셨는데 무슨 언어인가요?

choijuo의 이미지

c/c++ 입니다

Anti-Lock의 이미지

.C 파일은 c++언어 입니다. c언어가 아니에요.
.cpp 파일이 c++언어 이지만, c언어가 아닌것 처럼요.

cogniti3의 이미지

#include <iostream>
#include <iomanip>
#include <string>
 
int main()
{
  std::cout << std::setw(2) << std::setfill('0') << "1" << std::endl;
}

01
raymundo의 이미지

구글에서 cpp convert hex string to decimal 검색하니 많이 나오는데 그 중에 다음 링크가 간편해보이네요.

https://www.includehelp.com/stl/convert-hex-string-to-integer-using-stoi-function-in-cpp-stl.aspx

앞에 0 찍는 건 윗분 댓글 참고하시면 될 것 같고요.

좋은 하루 되세요!