Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda menukar vektor integer kepada rentetan yang dibatasi dalam C ?

Bagaimanakah anda menukar vektor integer kepada rentetan yang dibatasi dalam C ?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 19:51:02598semak imbas

How do you convert a vector of integers to a delimited string in C  ?

Sertai Vektor Integer ke dalam Rentetan Terhad

Dalam C , menukarkan vektor integer kepada rentetan yang dihadkan oleh aksara tertentu boleh dicapai melalui pelbagai pendekatan.

Menggunakan Stringstream

Satu kaedah melibatkan penggunaan std::stringstream, seperti yang ditunjukkan dalam kod berikut:

<code class="cpp">#include <sstream>
//...

std::stringstream ss;
for (size_t i = 0; i < v.size(); ++i) {
  if (i != 0)
    ss << ",";
  ss << v[i];
}
std::string s = ss.str();

Di sini, objek aliran rentetan ss digunakan untuk menambahkan integer secara berurutan pada rentetan sambil memasukkan koma sebagai pembatas.

Menggunakan std::for_each

Sebagai alternatif , anda boleh menggunakan algoritma std::for_each bersama-sama dengan fungsi lambda tersuai:

<code class="cpp">#include <algorithm>
#include <sstream>
//...

std::stringstream ss;
std::for_each(v.begin(), v.end(), [&ss](int i) {
  if (ss.str().size() != 0)
    ss << ",";
  ss << i;
});
std::string s = ss.str();</code>

Dalam pendekatan ini, fungsi lambda memasukkan koma apabila melelakan elemen berikutnya, memastikan peletakan pembatas yang betul.

Atas ialah kandungan terperinci Bagaimanakah anda menukar vektor integer kepada rentetan yang dibatasi dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn