std::string과 int를 연결
std::string과 int를 결합하여 단일 문자열을 형성하는 것은 다음과 같습니다. 겉으로는 간단해 보이는 작업이지만 몇 가지 어려움이 있을 수 있습니다. 주어진 예를 살펴보겠습니다.
std::string name = "John"; int age = 21;
이러한 요소를 "John21"로 연결하기 위해 여러 접근 방식을 사용할 수 있습니다.
Boost 사용
사용 Boost의 lexical_cast를 사용하면 int를 문자열로 변환하고 추가할 수 있습니다. it:
#include <boost/lexical_cast.hpp> std::string result = name + boost::lexical_cast<std::string>(age);
C 11
C 11에서 std::to_string 함수는 int를 문자열로 변환하는 편리한 방법을 제공합니다.
std::string result = name + std::to_string(age);
함께 FastFormat
FastFormat은 문자열 연결을 위한 Format 및 Write 메서드를 모두 제공합니다.
#include <fastformat/format.hpp> fastformat::fmt(result, "{0}{1}", name, age); fastformat::write(result, name, age);
{fmt} 라이브러리 사용
{ fmt} 라이브러리는 문자열에 대한 간결한 구문을 제공합니다. 형식 지정:
#include <fmt/core.h> std::string result = fmt::format("{}{}", name, age);
IOStream 사용
IO 스트림을 사용하는 것은 더 장황하지만 표준 C 접근 방식입니다.
#include <sstream> std::stringstream sstm; sstm << name << age; std::string result = sstm.str();
이토아와 함께
이토아 (Integer-to-String)은 int를 문자열로 변환하는 비표준 확장입니다.
#include <stdlib.h> char numstr[21]; // Ensure sufficient buffer size std::string result = name + itoa(age, numstr, 10);
sprintf 사용
Sprintf는 또 다른 비표준입니다. int를 문자열로 형식화하는 확장 프로그램:
#include <cstdio> char numstr[21]; // Ensure sufficient buffer size sprintf(numstr, "%d", age); std::string result = name + numstr;
STLSoft의 정수_to_string
STLSoft는 int를 문자열로 변환하는 특수 함수를 제공합니다.
#include <stlsoft/string_algo.h> char numstr[21]; // Ensure sufficient buffer size std::string result = name + stlsoft::integer_to_string(numstr, 21, age);
STLSoft의 Winstl::int_to_string
이 기능은 Windows에만 적용되어 효율적이고 안전한 변환:
#include <stlsoft/winstl/int_to_string.hpp> std::string result = name + winstl::int_to_string(age);
Poco NumberFormatter 사용
Poco의 NumberFormatter는 숫자를 문자열 형식으로 지정하는 데 사용할 수 있습니다.
#include <Poco/NumberFormatter.h> std::string result = name + Poco::NumberFormatter().format(age);
요약하자면, 선택한 접근 방식은 특정 요구 사항 및 플랫폼에 따라 달라질 수 있습니다. std::string과 int를 연결하는 데 가장 적합한 솔루션을 선택할 때 성능, 안전성 및 이식성을 고려하십시오.
위 내용은 C에서 std::string과 int를 효율적으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!