PDA

View Full Version : بدست آوردن آخر رشته در سی پلاس



siryahya
یک شنبه 14 خرداد 1391, 00:20 صبح
با سلام
دوستان عزیز من یه قطعه کدی نیاز دارم که بتونم بفهمم آخر رشته کجاست و هم چنین به آخر رشته بتونم \0 رو قرار بدم.
خیلی مهمه واسم . لطفا بگید که چیکار کنم.:متفکر:

vasilopita
یک شنبه 14 خرداد 1391, 00:43 صبح
سلام
#include <iostream>
using namespace std;
void main()
{
char test[20]="this is a test!";
int i=0;
while(test[i]!='\0')
i++;

cout<<i;
test[4]='\0';
cout<<"\n"<<test;
}

siryahya
یک شنبه 14 خرداد 1391, 02:17 صبح
دوست عزیز خیلی ممنون

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

جایی که من غلط مینوشتم اون خطیه بود که اسلش صفر میدادی که من توی جفت کوتیشن میدادم
که باید تو تک کوتیشن بزاریم.


خیلیی ممنون که کمک کردید خیلی واسم مهم بود
مرسی

mehdi.mousavi
یک شنبه 14 خرداد 1391, 10:53 صبح
سلام.
چرا تو بخس C/C++‎ هر کسی میخواد طول رشته رو حساب کنه، حلقه مورد نظر رو خودش می نویسه و از strlen یا دیگر توابع موجود برای اینکار استفاده نمیکنه؟ این بار چندم هستش (ظرف یکی دو هفته اخیر) که چنین کدی می بینم. پس Code Reuse و ... چی میشه؟ باور بفرمایید strlen هم همینکارو می کنه، اینم Source Code اش:


size_t __cdecl strlen (const char * str)
{
const char *eos = str;
while(*eos++);
return(eos - str - 1);
}


موفق باشید.

vasilopita
یک شنبه 14 خرداد 1391, 13:16 عصر
سلام.
چرا تو بخس C/C++‎ هر کسی میخواد طول رشته رو حساب کنه، حلقه مورد نظر رو خودش می نویسه و از strlen یا دیگر توابع موجود برای اینکار استفاده نمیکنه؟ این بار چندم هستش (ظرف یکی دو هفته اخیر) که چنین کدی می بینم. پس Code Reuse و ... چی میشه؟ باور بفرمایید strlen هم همینکارو می کنه، اینم Source Code اش:


size_t __cdecl strlen (const char * str)
{
const char *eos = str;
while(*eos++);
return(eos - str - 1);
}


موفق باشید.

آقای موسوی عزیز من فک کردم این شکل خیلی بهتره. چون مفهوم رو بیشتر می رسونه. اگه از تابع کتابخانه ای استفاده می کردم خوب شاید این دوست محترم مفهوم رو متوجه نمی شدن. من هدفم این بود که بگم انتهای رشته یا کارکتر '0\' پر میشه.

siryahya
یک شنبه 14 خرداد 1391, 16:55 عصر
سلام
دوستان ممنونم از همتون
ولی من منظورم از ایجاد این پست فقط فهمیدن راه قرار دادن یک اسلش صفر به آخر آرایه کاراکتری بود که تو محاسبات رشته ای من گیر میکردم
ولی حالا که اونو فهمیدم خیلی راحت مساعل رشته ای رو حل میکنم.
بازم مرسی از دوستان که جوابمو دادید.