با سلام و فرارسیدن سال نو رو به همه تبریکــــــــ می گم. لطفا اگه میشه نحوه پیاده سازی تابع strtokرو با یک تمرین بنویسید.
خیلی ممنون
بدرود
#include <iostream.h>
#include <conio.h>
char* start = 0;
char* strtok(char* s, char* d)
{
int i;
char *t;
if (s)
{
start = s;
}
while (*start)
{
for (i = 0; d[i]; i++)
if (d[i] == *start)
break;
if (!d[i])
break;
start++;
}
if (*start)
{
for (t = start; *t; t++)
{
for (i = 0; d[i]; i++)
if (d[i] == *t)
{
*t = 0;
break;
}
if (d[i])
{
break;
}
}
return start++;
}
return 0;
}
int main()
{
char text[] = "-abcd - ef gh-ijkl-";
char *t = strtok(text, " -");
while (t)
{
cout << '[' << t << ']' << endl;
t = strtok(0, " -");
}
getch();
return 0;
}
دقیقا منظورتون کدوم عملگر ها است، یک سطر کد مثال بزنید.سلام وتشکر از سورس خوبتون.اگه میشه قسمت های مربوط به عملگر های به کار رفته رو توضیح بدین.
(در سورس های دیگه یی هم که به این شکل از عملگر ها استفاده ده مشکل دارم)
بستگی به مورد اش داره، همیشه مفید نیست، ممکنه در یک برنامه لازم بشه که رشته بر اساس یک کاراکترعذر می خوام اما ما میایم رشته رو تکه تکه می کنیم خوب این کار چه خوبی داره؟
خیلی ممنون
بدرود
سلام.
کد:if (s)
کد:while (*start)
این قمست:کد:for (t = start; *t; t++)
منظورش اینه که مقداری که اشاره گرtبه آن نسبت داده شده برابرdeباشه؟(شرطifمنظورم بود)کد:if (d[i] == *t)
خیلی ممنون
بــــدرود
if ([COLOR="Blue"]condition[/COLOR])
while ([COLOR="Blue"]condition[/COLOR])
if (s)
while (start)
while (*start)
if (d[i] == *t)