تبلیغات
برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس - مطالب ابر string of characters
برترین پیشنهاد

برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس

بزرگترین پایگاه آموزش سی پلاس پلاس و سورس تمام برنامه های آن

آرایه های کاراکتری به عنوان آرگومان تابع:

چون رشته ها در زبان C++ همان آرایه های یک بعدی است که از نوع کاراکتری است. شیوه ی ارسال رشته ها به توابع همانند آرایه است، یعنی در آرگومان تابع نام رشته ذکر میشود و پارامتر معادل آن میتواند آرایه ای از کاراکتر ها با طول معیّن باشد.

شکل کلی:
void f1(char []);
int main()
{
    char s[21];
    ...
    f1(s);
    return 0;
}

void f1(char s[])
{
    ...
}

//end


مقدار دهی اولیه به آرایه های کاراکتری:

برای مقدار دهی اولیه به آرایه های کاراکتری دو روش وجود دارد:
1.

char ch[4] = "ali";

char ch[] = "computer";

//end

2.
char ch[8] = {'p','r','o','g','r','a','m','\0'};

char ch[] = {'a','l','i','\0'};

//end

ورودی - خروجی رشته ها:
قبلا دستورات cin و cout را برای ورودی و خروجی داده ها بررسی کرده ایم. از همین دستورات می توان برای ورودی - خروجی رشته ها استفاده کرد. در دستورات زیر cin رشته ی ch را می خواند و cout آن را در صفحه نمایش میدهد:

char ch[31];
cin>>ch;
cout<<"ch is: "<<ch;

//end

خواندن رشته ها با تابع get():
get یک تابع عضو(Member Function) شی(Object) ورودی cin است و کاربرد های مختلفی دارد:
1. کاربرد cin.get() برای خواندن یک کاراکتر:
char ch;
ch=cin.get();

//end

2. کاربرد cin.get() برای خواندن رشته ها:
1)cin.get(نام رشته, طول رشته);
2)cin.get(نام رشته, طول رشته, 'جدا کننده');

//end
مثال:

char x[20];
cin.get(8,15);
cin.get(5,15,'.');

//end

تقاوت cin و cin.get() در خواندن رشته ها:
در دستور cin.get فقط کلید Enter، انتهای رشته را مشخص میکند، مگر اینکه برنامه نویس کاراکتر دیگری را برای این منظور مشخص کند. در این دستور رشته میتواند حاوی فاصله(Space) و یا Tab باشد. در حالی که در دستور cin، فاصله(Space) و Tab نیز به عنوان جدا کننده تلقّی شده، انتهای رشته را مشخص می کنند.





تعریف رشته ها:

رشته ها در زبان c++ به سه شکل زیر تعریف و معرفی میشوند:
1.آرایه کاراکتری(رشته محدود)
2.اشاره گر کاراکتری (رشته ی نا محدود)(در جلسات آینده با فراگیری اشاره گر ها کاملا با این موضوع آشنا خواهید شد)
3.کلاس استاندارد string (در جلسه آینده)

مثال:

char s[10];
char s[5][10];

//end

نکته: در زبان C++، انتها ی رشته عدد 0 یا کاراکتر '\0' یا 'x0' قرار دارد و علامت پایان رشته جزو طول رشته خواهد بود ولی قابل استفاده نیست. یعنی هنگامی که داشته باشیم:

char ch[10];

//end
فقط می توانیم از 9 کاراکتر در رشته ی فوق استفاده کنیم زیرا کاراکتر آخر مربوط به علامت انتهای رشته به نام تهی(NULL) است.