CString::GetBufferSetLength

LPTSTR GetBufferSetLength ( int nNewLength );
โยน ( CMemoryException );

ส่งกลับค่า

ชี้การLPTSTRการบัฟเฟอร์ (ยกเลิกค่า null) อักขระของวัตถุ?

พารามิเตอร์

nNewLength

ขนาดของบัฟเฟอร์CStringอักขระอักขระที่แน่นอน?

หมายเหตุ

ส่งกลับตัวชี้ไปที่อักขระภายในบัฟเฟอร์สำหรับวัตถุCStringตัดทอน หรือการเติบโตของความยาวถ้าจำเป็นต้องตรงกับความยาวที่ระบุในnNewLength ตัวชี้LPTSTRส่งกลับไม่constและดังนั้นจึง ช่วยให้การปรับเปลี่ยนโดยตรงของเนื้อหาCString?

ถ้าคุณใช้ตัวชี้ที่ส่งกลับโดยGetBufferการเปลี่ยนเนื้อหาสาย คุณต้องเรียกReleaseBufferก่อนที่จะใช้อื่น ๆCStringสมาชิกฟังก์ชันใด ๆ?

อยู่ที่ส่งกลับโดยGetBufferSetLengthอาจไม่ถูกต้องหลังจากการเรียกไปยังReleaseBufferเนื่องจากการดำเนินงานCStringเพิ่มเติมอาจทำให้บัฟเฟอร์ที่CStringเพื่อที่สามารถจัดสรรใหม่ บัฟเฟอร์จะไม่ถูกมอบหมายใหม่ถ้าคุณไม่สามารถเปลี่ยนแปลงความยาวของCString?

หน่วยความจำบัฟเฟอร์จะถูกเพิ่มโดยอัตโนมัติเมื่อมีทำลายวัตถุCString?

หมายเหตุว่า ถ้าคุณเก็บติดตามของความยาวของสายอักขระด้วยตัวคุณเอง คุณควรไม่ผนวกอักขระ null terminating นอกจากนี้คุณอย่างไรก็ตาม ต้อง ระบุความยาวของสายอักขระสุดท้ายเมื่อคุณปล่อยบัฟเฟอร์ด้วยReleaseBuffer ถ้าคุณผนวกอักขระ null terminating เมื่อคุณเรียกใช้ReleaseBufferคุณควรส่ง– 1 (ค่าเริ่มต้น) สำหรับความยาว ReleaseBufferจะทำการstrlenบนเพื่อกำหนดความยาวของบัฟเฟอร์?

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการนับจำนวนการอ้างอิง ดูบทความต่อไปนี้:

ภาพรวม CString |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCString::GetBuffer, CString::ReleaseBuffer(&N)

Index