C-Style Strings
C-Style strings در C و C++، رشتههایی هستند که به صورت یک آرایه از کاراکترها تعریف میشوند و با یک null terminator ('\0'
) پایان مییابند. این نوع رشتهها از زبان C به C++ منتقل شدهاند و همچنان در بسیاری از پروژههای سطح پایین (مثل کار با حافظه یا کتابخانههای قدیمی) استفاده میشوند.
تعریف یک C-Style String
🔹 همیشه باید به اندازه کافی فضا در آرایه در نظر بگیرید تا '\0'
جا شود.
ورودی گرفتن C-Style String
📌 اگر میخواهید ورودی شامل فاصلهها هم باشد، باید از ()cin.getline
استفاده کنید:
توابع کتابخانه <cstring>
کتابخانه <cstring>
مجموعهای از توابع برای کار با C-Style Strings دارد:
تابع | توضیح |
---|---|
strlen(s) | طول رشته (بدون احتساب '\0' ) |
strcpy(dest, src) | کپی رشته |
strncpy(dest, src, n) | کپی حداکثر n کاراکتر |
strcat(dest, src) | الحاق رشتهها (اضافه کردن src به انتهای dest) |
strcmp(s1, s2) | مقایسه دو رشته (0 اگر برابر باشند) |
strncmp(s1, s2, n) | مقایسه n کاراکتر اول |
مثال:
تفاوت با std::string
-
std::string
در C++ ایمنتر و راحتتر است. -
C-Style string
ها باید به صورت دستی مدیریت شوند (حافظه، طول، کپی). -
std::string
بسیاری از مشکلات (مثل overflow یا مدیریت حافظه) را ساده میکند.