[개인 필기] printf 출력string

909 단어
디버그 코드는 print 줄에서 부정확한 코드를 출력하는 것을 발견했습니다. 원인은 다음과 같습니다.
printf는 C 언어에 내장된 데이터만 출력할 수 있습니다.string은 내장된 것이 아니라 확장된 클래스입니다. 이것은 틀림없이 링크 오류입니다.
printf_s("the num of Gangs is : %d
", gang.size()); map::iterator it = gang.begin(); for (; it != gang.end(); it++) { printf("%s %d
", it->first, it->second); cout << it->first << " " << it->second << endl; }

코드를 다음으로 변경합니다.
printf_s("the num of Gangs is : %d
", gang.size()); map::iterator it = gang.begin(); for (; it != gang.end(); it++) { printf("%s %d
", (it->first).c_str(), it->second); cout << it->first << " " << it->second << endl; }

즉string 타입에 cstr (), 그리고 실행할 수 있습니다.
물론 cout로 출력할 수도 있습니다.

좋은 웹페이지 즐겨찾기