PDA

View Full Version : بدست اوردن طول رشته بدون STRLEN



nafisehk
جمعه 29 دی 1391, 01:38 صبح
سلام
ممنون میشم راهنماییم کنید

plus
جمعه 29 دی 1391, 01:52 صبح
میشه بیشتر توضیح بدین؟ شاید تاپیک رو اشتباه زدین تا اونجا که من میدونم در #C چیزی به اسم STRLEN نداریم؟! در #C برای بدست آوردن طور رشته از مشخصه Length استفاده میشه:

string name = "Programmer";
int length = name.Length;

اگرم منظورتون در ++C/C هست، بایستی با یک حلقه while، تا زمانی که مقدار 0 در رشته هست به جلو برین و تعداد کاراکتر های قبل از 0 رو بشمارید (با فرم ASCII بودن رشته).

nafisehk
جمعه 29 دی 1391, 02:59 صبح
درست می فرمایید . منظور بنده بدست اوردن طول رشته بدون استاده از تابع بود.

nafisehk
جمعه 29 دی 1391, 03:19 صبح
میشه بیشتر توصیح بدبد؟

plus
جمعه 29 دی 1391, 03:28 صبح
آخرش نگفتین که در چه زبانی میخواین این کار رو بکنید ولی به نظر میاد منظور شما در ++C/C هست.رشته ها در این زبانها، با کاراکتر NULL با کد اسکی 0 پایان پیدا میکنن که به اونها Null Terminated String میگن.بنابراین برای اینکه بخوایین طول رشته رو بدست بیارین کافیه تعداد کاراکترهای رشته رو بخونید تا به کاراکتری با کد اسکی 0 برسید که نشان دهنده پایان رشته هست.چیزی شبیه این:

char name[1000];
cin >> name;
int length = 0;
while (name[length] != '\0') {
length++;
}

uniqueboy_ara
جمعه 29 دی 1391, 08:22 صبح
به همین راحتی:
string site = "BarnameNevis.org";
int Counter = 0;
foreach (char item in site)
{
Counter++;
}