Tôi vừa bắt đầu đọc C++ và tìm thấy C++ có hàm phong phú cho thao tác chuỗi mà C không có. Tôi đang đọc các chức năng này và đi qua c_str()
và từ những gì tôi hiểu là c_str
chuyển đổi một chuỗi có thể bị vô hiệu hóa hoặc có thể không phải là một chuỗi chấm dứt null. Có đúng không?Sử dụng hàm c_str Trong C++
Ai đó có thể đề xuất cho tôi một số ví dụ để tôi có thể hiểu việc sử dụng chức năng c_str ??
điểm Rất thú vị bạn đã thực hiện trong Ghi chú: những gì tôi muốn biết nếu std :: string là đã chứa \ 0 thì c_str cũng nối \ 0 vào cuối chuỗi ?? –
@AmitSinghTomar: Có, vì vậy bạn sẽ có hai byte null - một trong đó là một phần hợp pháp của chuỗi và một trong đó được coi là terminator null. Nhưng chức năng kiểu c nhận con trỏ không biết điều này. – Jon
Lưu ý: một số C-API sẽ yêu cầu hai đối số ('char const *, size_t'), thứ hai là kích thước, tất nhiên. –