نمایش نتایج 1 تا 5 از 5

نام تاپیک: ساختار strcpy

  1. #1

    ساختار strcpy

    سلام خدمت تمام دوستان
    من در رابطه با تابع strcpy
    سوال دارم
    اول اینکه این تابع چه ساختاری داره
    یعنی یکجا یک رشته رو با رشته دیگه جابجا می کنه مثل swap؟
    یا رشته رو به صورت ارایه ای در میاره و اجزای هر ارایه رو با همون اجزا در رشته دوم جابجا می کنه؟
    بعد سوالم اینه اگه ارایه باشه پس باید چک کنه طول رشته ها با هم برابر هست یا نه
    که اگر اینطور باشه در صورتی که رشته دوم بزرگتر از رشته اول باشه چه اتفاقی می افته ؟
    جاهای کم رو دیگه نمینویسه یا خطای میده؟
    چون می خوام یه تابع با کاربرد دقیق strcpy بنویسم
    اما اول می خوام بدونم چجوری کار می کنه
    ممنون میشم راهنمایی کنید

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: ساختار strcpy

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

    char *strcpy(char *trgt, char *src)
    {
    int c=0
    while(src[c]!=0)
    trgt[c] = src[C++‎];
    trgt[c] = 0;
    return trgt;
    }

    دستی کد شد.

  3. #3

    نقل قول: ساختار strcpy

    میشه در مورد کدتون یه توضیح بدید
    همچنین اگه کسی از دوستان به سوالاتم پاسخ بده ممنون میشم

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: ساختار strcpy

    خب توضیح چندان زیادی ندارد فقط رشته مبدا را داخل مقصد کپی میکند ولی در حالت استاندارد فقط طول رشته مبدا را بررسی میکند و به مقصد کاری ندارد.

  5. #5
    کاربر دائمی آواتار mohsensaghafi
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    و نپرسیم کجاییم. بو کنیم اطلسی تازه بیمارستان را
    پست
    338

    نقل قول: ساختار strcpy

    سلام دوست عزیز.
    تابع strcpy کار swap رو انجام نمی ده. فقط رشته پارامتر دوم رو در اولی کپی می کنه. در واقع یه رشته رو بصورت کلی کپی می کنه. ( همونطور که می دونید با عملگر = نمی شه این کار رو کرد.)
    و در مورد اینکه طول رشته چطوری باشه باید بگم که کنترل طول رشته در این تابع بر عهده برنامه نویس است. و اینکه اگر طول رشته مقصد کمتر از طول رشته مبدا باشه کامپایلر چه عکس العملی نشان می دهد، به نوع کامپایلر بستگی دارد.

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •