آموزش C++

مباحث پایه زبان C++

رشته ها در زبان C++ – آموزش زبان C++

  • شنبه ۱۲ آبان ۱۳۹۷
  • بازدید ۴,۶۴۰ نفر

تصویر cpp-strings_4388 رشته ها در زبان C++ - آموزش زبان C++

رشته ها در زبان C++

در زبان برنامه نویسی C++ دو نوع رشته وجود دارد:

  • رشته کلاسیک و به سبک زبان C که از نوع char می باشد.
  • رشته جدید که از نوع کلاس string معرفی شده در زبان C++ استاندارد می باشد.

رشته به سبک زبان C

این نوع رشته ها از زبان C وارد زبان C++ شده اند. این نوع رشته ها در حقیقت یک آرایه تک بعدی از کاراکترها هستند که با کاراکتر ‘\0’ پایان می پذیرند. بنابراین یک رشته خالی فقط شامل یک کاراکتر ‘\0’ می باشد. به این کاراکتر، null می گویند. اعلان زیر یک آرایه را که شامل کاراکترهای کلمه “Hello” است، ایجاد می کند. برای این که یک آرایه بتواند کاراکتر null در انتهای خود داشته باشد باید طول آرایه یک واحد بیشتر از طول کاراکترها باشد.

دستور بالا را می توان به این صورت هم نوشت:

شکل زیر نحوه قرار گیری این آرایه در حافظه را نشان می دهد:

تصویر cpp-strings_4388_1 رشته ها در زبان C++ - آموزش زبان C++

در حقیقت شما کاراکتر null در انتهای آرایه قرار نمی دهید و کامپایلر به طور خودکار این کاراکتر را به انتهای آرایه اضافه می کند. مثال زیر آرایه بالا را چاپ می کند:

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان C++ اجرا شود، نتیجه زیر را تولید خواهد کرد:

به منظور دستکاری رشته هایی که با کاراکتر null خاتمه می یابند، توابع زیادی وجود دارند که برخی از آن ها را در جدول زیر مشاهده می کنید:

Sr.No.توضیحات
1strcpy(s1, s2)

رشته s2 را در رشته s1 کپی می کند (مشابه عملگر انتساب).

2strcat(s1, s2)

رشته s2 را به انتهای رشته s1 می چسباند.

3strlen(s1)

طول رشته را بر میگرداند.

4strcmp(s1, s2)

دو رشته را با هم مقایسه می کند. اگر هر دو مشابه باشند، مقدار 0 بر میگرداند، اگر رشته اول (s1) کمتر از رشته دوم (s2) باشد، مقدار منفی بر میگرداند و اگر رشته اول (s1) از رشته دوم (s2) بزرگ تر باشد، مقدار بزرگتر از صفر بر میگرداند.

5strchr(s1, ch)

یک اشاره گر به اولین وقوع ch در رشته s1 بر میگرداند.

6strstr(s1, s2)

یک اشاره گر به اولین وقوع s2 در رشته s1 بر میگرداند.

برخی از توابع فوق در مثال زیر استفاده شده اند:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

کلاس String در زبان C++

کتابخانه استاندارد زبان C++ کلاس stringرا ارائه می دهد که علاوه بر پشتیبانی از موراد گفته شده فوق، قابلیت های جدید دیگری را نیز در خود دارد. مثال زیر نحوه استفاده از این کلاس را نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

 

باکس دانلود
ثبت نظر
ریفریش کنید!
نظرات کاربران (۲ مورد)
  1. تصویر آواتار کاربر 0
    علی یکشنبه , 30 تیر

    سلام من یه متن چند خطی رو میخوام در یک رشته قرار بدم چطوری کدشو بنویسم