اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

نوع داده‌ی رشته

0 امتیاز
430 نمایش

نوع داده‌ای که برای رشته ست چیه؟
من میخوام یک متغیر به این شکل تعریف کنم که توش یک رشته بریزم. اونو از نوع کارکتر تعریف میکنم. ولی وقتی به خروجی میبرم فقط حرف اولش رو چاپ میکنه.
باید چجوری رشته ی مورد نظرمو ذخیره کنم؟

برنامه‌ای که تست نشده کار نخواهد کرد (Stroustrup, Bjarne)
پرسیده شده یکشنبه ۵ آذر ۱۳۹۱ در C++ توسط CPP_Crawler3  
بازتگ شده جمعه ۲۳ فروردین ۱۳۹۲ توسط admin

2 پاسخ

0 امتیاز
 
بهترین پاسخ

برای استفاده از رشته در C++ می‌تونیم از رشته‌ی C که اشاره‌گری منتهی به NULL هست استفاده کنیم.

char *name = "Jalal";

نیازی نیست نگران اون NULL باشیم. خود کامپایلر اون رو اضافه می‌کنه. مادامی هم که توسط توابع زبان با این متغیر کار کنیم کاراکتر NULL خودش در مکان متناسب قرار می‌گیره. اما در صورتی که به عنوان یه اشاره‌گر با این نوع داده برخورد کنیم و مقدار داخلش رو تغییر بدیم باید خودمون در زمان لازم NULL رو اضافه کنیم.

امکان استفاده از شکل آرایه‌ای کاراکتی هم هست.

char name[] = "Jalal";

در این صورت کامپایلر این دستور و به شکل زیر می‌بینه

char name[6] = {'J', 'a', 'l', 'a', 'l'};

که همون آرایه‌ی معمولی زبان هست.

در صورتی که از این نوع داده نخواهیم استفاده کنیم نوع داده‌ی string در زبان C++ به صورت استاندارد تعریف شده که پایه‌اش همین حالت اشاره‌گری هست.

std::string name = "Jalal";

یا

std::string name("Jalal");

تبدیل رشته‌ی C++ به رشته‌ی C به صورت زیر ممکنه

std::string name("Jalal");
char *c_name = name.c_str();
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده سه شنبه ۲۱ خرداد ۱۳۹۲ توسط prodo  
انتخاب شده چهارشنبه ۲۲ خرداد ۱۳۹۲ توسط admin
0 امتیاز

برای ذخیره‌ی رشته باید یا از نوع string تعریف بشه (که یادآوری میکنم باید کتابخونه‌ش هم به برنامه ضمیمه بشه) و یا اینکه از آرایه‌ای کارکتر استفاده کنید.

پاسخ داده شده جمعه ۱۳ بهمن ۱۳۹۱ توسط CPP_Crawler4