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

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

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

strlen: این تابع یک رشته از نوع آرایه ای از کاراکتر ها به کار میرود و دارای شکل کلی زیر است:
;(رشته مورد نظر)int lenght=strlen


شایان ذکر است که طول آرایه ی کاراکتری ممکن است با طول رشته ی مورد نظر متقاوت باشد، چرا که این تابع تعداد کاراکتر های رشته را از ابتدای رشته تا نقطه ای که به علامت NULL برسد میشمارد.


تابع strnicmp_ : این تابع همانند تابع strncmp عمل کرده با این تفاوت که مقایسه ی دو رشته را بدون توجه به بزرگی و کوچکی حروف انجام میدهد. لذا دو رشته ی "quick" و "QUICK" از نظر این تابع با یکدیگر برابر هستند. شایان ذکر است که این تابع تنها مختص کامپایلر های شرکت مایکروسافت است. البته در بعضی دیگر مانند توربو سی پلاس پلاس 4.5 با عنوان strnicmp وجود دارد.


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

- برنامه ای بنویسید که دو رشته از ورودی گرفته و تعداد تکرار رشته ی دوم در رشته ی اول را در خروجی نمایش دهد.


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

strncmp تابع مقایسه تعداد مشخصی از کاراکتر های دو رشته

شکل کلی:

;(تعداد کاراکتری که باید مقایسه شود ,رشته 2 ,رشته 1)int result=strncmp

مثال:

int result=strncmp(str1, str2, n);
//end

با اجرای این کد n کاراکتر ابتدای رشته اول با n کاراکتر ابتدای رشته دوم مقایسه شده و نتیجه بصورت یک عدد int برگشت داده میشود.


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

 شکل کلی:

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


مثال:

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


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


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

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


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

strcat تابع الحاق دو رشته
شکل کلی:

;(رشته مبدا ,رشته مقصد)strcat


مثال:
strcat(str1, str2);
//end
عملکرد این تابع به این صورت است که محتویات رشته ی str2 را به انتهای رشته ی str1 از مکانی که علامت NULL قرار گرفته اضافه میکند. به عنوان مثال اگر رشته ی str1 شامل کلمه ی "computer" و رشته ی str2 شامل کلمه ی "science" باشد، حاصل عملیات، ذخیره ی عبارت "computer science" در str1 میشود.

نکته: این تابع نیز تنها برای رشته های از نوع آرایه های کاراکتری تعریف شده است و برای الحاق هرگونه رشته به رشته ای از نوع string باید از عملگر + استفاده کنید.


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. مراقب باشید که رشته ی مقصد طول کوچکتری نسبت به رشته ی مبدا نداشته باشد.


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

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

شکل کلی:

void f1(char []);
int main()
{
    char s[21];
    ...
    f1(s);
    return 0;
}

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

//end


  • کل صفحات:2  
  • 1
  • 2
  •