C에서 쉼표로 구분된 목록을 인쇄하는 방법?
C에서 쉼표로 구분된 요소 목록을 인쇄하는 것은 비교하기 까다로울 수 있습니다. Java와 같은 다른 언어로. 이 문제를 해결하기 위해 몇 가지 기술을 탐색합니다.
중위 반복자 사용
중위 반복자를 사용하면 반복 중에 각 요소 사이에 구분 기호를 삽입할 수 있습니다. 이는 표준 출력 반복자의 맞춤형 변형입니다.
// infix_iterator.h // Extended output iterator with delimiter insertion template <typename T, typename charT, typename traits = std::char_traits<charT>> class infix_ostream_iterator : public std::iterator<std::output_iterator_tag, void, void, void, void> { std::basic_ostream<charT, traits>& os; charT const* delimiter; bool first_elem; public: infix_ostream_iterator(std::basic_ostream<charT, traits>& s) : os(&s), delimiter(0), first_elem(true) {} infix_ostream_iterator(std::basic_ostream<charT, traits>& s, charT const *d) : os(&s), delimiter(d), first_elem(true) {} infix_ostream_iterator<T, charT, traits>& operator=(T const &item) { // Insert delimiter before element unless it's the first if (!first_elem && delimiter != 0) *os << delimiter; *os << item; first_elem = false; return *this; } // ... };
중위 반복자와 함께 사용:
#include "infix_iterator.h" // ... // Copy elements using infix iterator to insert commas std::copy(keywords.begin(), keywords.end(), infix_iterator(out, ","));
위 내용은 C에서 쉼표로 구분된 목록을 효율적으로 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!