를 사용하여%s format specifier 부스트::형식과 std::string
-
12-12-2019 - |
문제
내가 알고 있는 것을 사용하여 %s
형식을 지정자 std::string
다음과 같이 리드를 정의되지 않은 행동:
std::string myString = "test";
printf("%s", myString);
그러나 그것은 저장 사용자와 std::string
가 boost::format
?
#include <boost/format.hpp>
int main()
{
std::string myString = "test";
boost::format fmt("%s");
fmt % myString;
std::cout << fmt.str();
return 0;
}
%s
지정(const) char*
, 지만,저는 제공 std::string
.수이도 예약하나요?
해결책
사용하는 것이 안전합니다 %s
가 boost::format
고 std::string
.달 printf
, 형식 문자에서 형식 문자열"을 부과하지 않는 관련된 인수하의 제한된 유형,그러나 단지 세트 플래그와 관련된 이 유형의 사양입니다."
http://www.boost.org/doc/libs/1_49_0/libs/format/doc/format.html#printf_directives
제휴하지 않습니다 StackOverflow