strlen()
được sử dụng để nhận được độ dài của một chuỗi ký tự/chuỗi.
sizeof()
được sử dụng để nhận được kích thước thực tế của bất kỳ loại dữ liệu nào theo byte.
Bên cạnh đó, sizeof()
là biểu thức biên dịch cho bạn kích thước của loại hoặc loại biến. Nó không quan tâm đến giá trị của biến.
strlen() là một hàm lấy con trỏ đến một ký tự và đi bộ nhớ từ ký tự này, tìm kiếm một ký tự NULL. Nó đếm số ký tự trước khi nó tìm thấy ký tự NULL. Nói cách khác, nó cung cấp cho bạn độ dài của một chuỗi chấm dứt kiểu NULL.
Hai thiết bị này gần như khác nhau. Trong C++, bạn không cần hoặc rất nhiều, strlen() là cho các chuỗi kiểu C, nên được thay thế bằng C++ - kiểu std::strings
, trong khi ứng dụng chính cho sizeof()
trong C là đối số cho các hàm như malloc()
, memcpy()
hoặc memset()
, tất cả những thứ bạn không nên sử dụng trong C++ (sử dụng mới, std::copy()
và std::fill()
hoặc constructors
).
Nguồn
2011-12-21 13:14:29
Tại sao thẻ C++ này được gắn thẻ? –
tôi đã xóa thẻ – Prabhu