C++ std::string
s là chuỗi "được tính" - nghĩa là độ dài của chúng được lưu trữ dưới dạng số nguyên và chúng có thể chứa bất kỳ ký tự nào. Khi bạn thay thế ký tự thứ ba bằng \0
không có gì đặc biệt xảy ra - nó được in như thể nó là bất kỳ ký tự nào khác (đặc biệt, bảng điều khiển của bạn đơn giản bỏ qua nó).
Trong dòng cuối cùng, thay vào đó, bạn đang in chuỗi C, có kết thúc được xác định bởi số \0
đầu tiên được tìm thấy. Trong trường hợp này, cout
sẽ bật các ký tự in cho đến khi tìm thấy một số \0
, trong trường hợp của bạn, là sau số h
thứ ba.
Nguồn
2013-01-06 15:16:55
+1 Thanx để cập nhật cho tôi ... !!! Tôi có điểm số của bạn. –
@LearnedfromMistake Đúng với tên người dùng của bạn. ;-) –