Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Rentetan Output Kod C Saya Tidak Boleh?

Mengapa Rentetan Output Kod C Saya Tidak Boleh?

DDD
DDDasal
2024-10-31 07:51:02977semak imbas

Why Can't My C   Code Output Strings?

Meneroka Enigma Ralat Output Rentetan

Di tengah-tengah pembangunan kod, bukan sesuatu yang luar biasa untuk menghadapi halangan seperti ketidakupayaan untuk rentetan keluaran. Walaupun nampaknya mudah, isu ini sering membingungkan pengaturcara, yang membawa kepada beberapa jam penyahpepijatan.

Misteri Rentetan Yang Hilang

Pertimbangkan coretan kod berikut:

<code class="cpp">string text;
text = WordList[i].substr(0, 20);
cout << "String is : " << text << endl;

Apabila cuba melaksanakan kod ini, anda mungkin menghadapi ralat yang membingungkan:

Error 2 error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

Untuk menggabungkan lagi teka-teki ini, walaupun kod yang dipermudahkan ini gagal menghasilkan output yang diingini:

<code class="cpp">string text;
text = "hello";
cout << "String is : " << text << endl;

Membuka Penyelesaian

Kunci untuk membuka kunci mesej ralat misteri ini terletak pada aspek penting yang sering diabaikan dalam keghairahan kami mencipta kod yang sempurna: termasuk pengepala yang diperlukan. Kod ini memerlukan dua pengepala penting untuk mendayakan output rentetan yang betul:

<code class="cpp">#include <string>
#include <iostream></code>

Memasukkan pengepala ini memastikan pengkompil mengetahui cara mengendalikan operasi rentetan. Tanpanya, pengkompil tidak dapat mentafsir pengendali penggabungan rentetan ke rentetan (<<) dengan betul, membawa kepada ralat yang dilaporkan.

Peluk Pengepala, Mulakan Laluan Kejayaan

Setelah pengepala ini diletakkan, rentetan akan mengalir dengan lancar daripada kod anda, membolehkan anda menakluki dunia manipulasi rentetan dengan yakin. Kod berikut kini akan dilaksanakan dengan sempurna:

#include 
#include 

string text;
text = WordList[i].substr(0, 20);
cout << "String is : " << text << endl;

string text2 = "hello";
cout << "String is : " << text2 << endl;

Atas ialah kandungan terperinci Mengapa Rentetan Output Kod C Saya Tidak Boleh?. 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