Bagaimana untuk Mencetak Senarai Dipisahkan Koma dalam C ?
Dalam C , mencetak senarai unsur yang dipisahkan koma boleh menjadi rumit berbanding kepada bahasa lain seperti Java. Untuk menyelesaikan masalah ini, kami meneroka beberapa teknik.
Menggunakan Infix Iterator
Infix Iterator membenarkan anda memasukkan pembatas antara setiap elemen semasa lelaran. Ia merupakan variasi tersuai bagi lelaran output standard.
// 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; } // ... };
Penggunaan dengan Infix Iterator:
#include "infix_iterator.h" // ... // Copy elements using infix iterator to insert commas std::copy(keywords.begin(), keywords.end(), infix_iterator(out, ","));
Atas ialah kandungan terperinci Bagaimana Mencetak Senarai Dipisahkan Koma dengan Cekap dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!