Rumah pembangunan bahagian belakang C++ Bagaimana untuk mengosongkan dan menggunakan semula aliran ostring?

Bagaimana untuk mengosongkan dan menggunakan semula aliran ostring?

Oct 24, 2024 am 01:53 AM

How to Clear and Reuse an ostringstream?

Menggunakan semula aliran ostring

Dalam usaha mengoptimumkan peruntukan sumber, seseorang mungkin menghadapi keperluan untuk menetapkan semula aliran ostring kepada keadaan asalnya untuk mengelakkan berlebihan peruntukan. Artikel ini menangani isu ini dengan meneroka pelbagai kaedah untuk mengosongkan dan menggunakan semula aliran ostring.

Menetapkan Semula Objek

Untuk mengembalikan aliran ostring kepada keadaan asalnya, urutan jelas dan str boleh digunakan:

<code class="cpp">// Clear any flags (e.g., eof)
s.clear();

// Empty the buffer
s.str("");</code>
Salin selepas log masuk

Pendekatan ini secara berkesan mengosongkan penimbal dan menetapkan semula penunjuk strim. Sebagai alternatif, pembersihan manual boleh dilakukan diikuti dengan mencari ke permulaan:

<code class="cpp">// Clear any flags
s.clear();

// Reset put pointer (for output streams)
s.seekp(0);

// Reset get pointer (for input streams)
s.seekg(0);</code>
Salin selepas log masuk

Kaedah ini menghalang pengagihan semula yang tidak perlu dengan menulis ganti kandungan penimbal sedia ada. Contohnya:

<code class="cpp">std::ostringstream s;
s &lt;&lt; "hello";
s.seekp(0);
s &lt;&lt; "b";
assert(s.str() == "bello");</code>
Salin selepas log masuk

Untuk menggunakan rentetan bagi fungsi gaya C, std::ends boleh digunakan untuk menambahkan aksara null penamat:

<code class="cpp">// Append a terminating null
s &lt;&lt; std::ends;
assert(s.str().size() == 5 &amp;&amp; std::strlen(s.str().data()) == 1);</code>
Salin selepas log masuk

Walaupun std::ends ialah tinggalan daripada std::strstream yang telah ditamatkan, ia kekal berguna dalam situasi di mana ia perlu untuk bekerja dengan tatasusunan aksara gaya C tanpa penamatan nol yang jelas.

Atas ialah kandungan terperinci Bagaimana untuk mengosongkan dan menggunakan semula aliran ostring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes Langkah Format Fungsi Fungsi C Langkah Penukaran Kes Mar 03, 2025 pm 05:53 PM

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Gulc: Perpustakaan C dibina dari awal Gulc: Perpustakaan C dibina dari awal Mar 03, 2025 pm 05:46 PM

Gulc: Perpustakaan C dibina dari awal

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan? Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan? Mar 03, 2025 pm 05:52 PM

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu Mar 03, 2025 pm 05:53 PM

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi? Bagaimana Perpustakaan Templat St Standard (STL) berfungsi? Mar 12, 2025 pm 04:50 PM

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan? Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan? Mar 03, 2025 pm 05:51 PM

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Penggunaan dan perkongsian frasa yang berbeza Penggunaan dan perkongsian frasa yang berbeza Mar 03, 2025 pm 05:51 PM

Penggunaan dan perkongsian frasa yang berbeza

Berapakah minimum biasa dari pembahagi umum maksimum fungsi bahasa C? Berapakah minimum biasa dari pembahagi umum maksimum fungsi bahasa C? Mar 03, 2025 pm 05:55 PM

Berapakah minimum biasa dari pembahagi umum maksimum fungsi bahasa C?

See all articles