<span font='26'><b>
= 19 자
</b></span>
= 11 자
'\0'
= 1 자
및 count
이상 3 자리 숫자를 필요로하지 않습니다 말할 수 있습니다. 그런 다음 그냥 (buf
생략 할 수있다) 그 형식 wyn1
변수에 직접 인쇄 할 수 있습니다 :
char * wyn1 = malloc(19 + 3 + 11 + 1);
sprintf(wyn1, "<span font='26'><b>%3d</b></span>", count);
을하지만 실제로 c++로 태그되어 있기 때문에, 당신은 단순히 사용해야 std::ostringstream
:
std::ostringstream os;
os << "<span font='26'><b>" << count << "</b></span>";
및 그 후 os.str().c_str()
은 이전 코드에서 wyn1
처럼 사용할 수 있지만 훨씬 더 좋지만이 C 문자열의 수명은 스트림에서 검색 한 std::string
개체의 임시 복사본에 연결되므로 메모리를 사용할 필요가 없습니다. 너 자신에 대한 관리.
안녕하세요. 귀하의 질문을 편집 한 것은 끔찍한 상태 였기 때문에 (일부 사용자에게서 부정 투표를받는 이유입니다). 앞으로 이런 상황이 발생하지 않도록 [FAQ] (http://stackoverflow.com/faq)와 [About page] (http://stackoverflow.com/about)를 읽어보십시오. – LihO