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

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

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

strncpy تابع کپی تعداد مشخصی از کاراکتر های یک رشته در دیگری

 شکل کلی:

;(تعداد کاراکتر کپی شونده ,رشته مبدا ,نقطه ی آغازین عمل کپی+رشته مقصد)strncpy


مثال:

strncpy(str1+m;str2;n);
//end


در مثال فوق تعداد n کاراکتر ابتدایی رشته ی str2 را از کاراکتر (m+1) ام رشته ی str1 تا محل (m+n+1) کپی میکند. اگر تعداد کاراکتر هایی که در str2 وجود دارد، کمتر از مقدار n باشد، به تعداد لازم کاراکتر NULL در انتهای str1 کپی میشود.


یه تمرین برای رشته های کاراکتری:

- برنامه ای بنویسید که یک متن از ورودی گرفته و تمامی space های آن را (در صورت وجود) حذف کرده و آرایه ی کاراکتری جدید را چاپ نماید.


ادامه مطلب(کد برنامه)

strcmp تابع مقایسه دو رشته، موجود در cstring.h

شکل کلی:

;(رشته 2 ,رشته 1)int result=strcmp

مثال:

int result=strcmp(str1, str2);
//end

این تابع شروع به مقایسه ی کاراکتر های هر دو رشته از ابتدا ی آنها میکند تا به اولین مورد اختلاف برسد. اگر کاراکتر مربوط به رشته ی 1 بزرگتر از کاراکتر مربوط به رشته ی 2 باشد، مقداری مثبت یعنی عدد 1 را برمیگرداند.این بدان مفهوم است که str1>str2. هم چنین به عکس اگر کاراکتر مربوط به رشته ی 1 کوچکتر از کاراکتر مربوط به رشته ی 2 باشد، مقداری منفی یعنی عدد -1 را به مفهوم اینکه str1<str2 است، بر میگرداند. اگر دو رشته با هم مساوی باشند، مقدار 0 برگردانده میشود.


strcpy تابع انتساب رشته های کاراکتری، موجود در cstring.h

شکل کلی تابع:

;(رشته مبدا ،رشته مقصد)strcpy

مثال:
strcpy(str1, str2);

strcpy(str, "Computer");

//end


تذکر:
1. کپی کردن هر گونه رشته در رشته ای از نوع string به واسطه ی دستور انتساب(=) صورت میگیرد. بنابراین هیچ یک از پارامتر ها strcpy نمی تواند از نوع string باشد.
2. مراقب باشید که رشته ی مقصد طول کوچکتری نسبت به رشته ی مبدا نداشته باشد.


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

برای مقدار دهی اولیه به آرایه های کاراکتری دو روش وجود دارد:
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 نیز به عنوان جدا کننده تلقّی شده، انتهای رشته را مشخص می کنند.