رشته ها در c++

برنامه نویسی c++

آموزش کار با رشته ها در زبان c  یا c++

رشته در c++ در زبان سی یا c++ نوع داده ی string وجود ندارد و رشته را با استفاده

از آرایه ای از کاراکترها پیاده سازی می کنیم (بهمراه سورس کد کپی رشته و معکوس و چسباندن و طول رشته در سی پلاس پلاس)مثلا :


unsigned char s[100] ;

نکته :

در زبان c یا c++ انتهای رشته ها را با عدد صفر ( کاراکتر با کداسکی صفر )

مشخص میشوند. بنابراین برای ذخیره سازی یک رشته  با حداکثر طول n

حتما آرایه ای به طول n+1 تعریف کنیم.

کلیه دستورات و توابعی که با رشته ها کار می کنند از عدد صفر برای شناسایی انتهای رشته استفاده می کنند.

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


unsigned char s[10] = " ABCD "
s[0] ='A' 
s[1] = 'B'
scanf ( " %s " , s );
printf ( "%s " , s );

نکته :

برای دریافت یا چاپ به امپرساین احتیاجی نیست.

تابع gets : برای دریافت رشته از صفحه کلید از این تابع استفاده می شود.


gets(s1)

تابع puts : برای چاپ رشته در صفحه نمایش استفاده می شود.


puts(s1)

مثال :سورس طول رشته

برنامه ای بنویسید که یک رشته را دریافت و طولش را بنویسد.


void main()
{
char s[100] ; int i;
gets(s);
for( i=1 ; s[i] ; i++ );
cout<< i;
}

مثال :سورس کپی در سی

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


void main()
{
char s1[100] , s2[100]; int i;
gets(s1);
for( i=0 ; s[i] ; i++)
s2[i]=s1[i];
s2[i+1]=0;
}

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

برنامه ای بنویسید که s1 و s2 را گرفته و s2 را به اخر s1 بچسباند.(سورس کد برنامه چسباندن دو رشته)


void main()
{
char s1[100] , s2[100]; int i ,j;
gets(s1); gets(s2);
for( i=0 ; s1[i] ; i++);
for( j=0 ; s2[j] ; j++ , i++)
s1[i]=s2[j];
s1[i]=0;
}

مثال : سورس معکوس رشته در سی

برنامه ای بنویسید که رشته ای را گرفته و ان را معکوس کند.(سورس کد برنامه معکوس رشته)


void main()
{
char t , s[100]; int i ,j;
gets(s);
for( i=0 ; s[i] ; i++);
i-- ;
for( j=0 ; j<i ; j++ , i--)
{
t=s[i]; s[i]=s[j]; s[j]=t;
}
s[i+j+1]=0;
}