به نام خدا

سلام....!

این یه موضوع خیلی جالبه برای من! واقعا فوق العاده است!

من که خیلی کیف کردم!

ببینید بعضی وقتا میشه شما میخواید یه استرینگ رو یه متغییر توش بزارید!

مثلا چیزی که من میخواستم این بود که آدرس زیر رو به جای i یه متغییر باشه

M:\\picture\\i.bmp

ولی از اونجایی که میدونید وقتی دوتا دابل کوتیشن ("") رو کنار این رشته قرار میدیم کلا حرف i تبدیل به یه استرینگ میشه و شما نمیتونید به عنوان متغییر ازش استفاده کنید!

برای اینکار میتونید از تابع spritf استفاده کنید!

شکل کلی اون به صورت زیر هست

int sprintf ( char * str, const char * format, ... )

اون str به متغییر رشته ای اشاره میکنه! مثلا یه بافر میتونید بسازید و اسمش رو اینجا قرار بدید

format هم همون چیزی هست که ما میخوایم! درواقع اگه از تابع printf که برای چاپ رشته استفاده میشه کار کرده باشید! میدونید که مثلا اون تابع به صورت زیر هست!

printf ("int a = %d",a);

در واقع روی صفحه نمایش int a = چاپ میشه بعد مقدار متغییر a به جای %d قرار میگیره!

اون تابع بالا هم دقیقا مثل همین هست!

یه مثال از کاربرد تابع از سایت منبع رو در زیر اوردم . ببینید قشنگ متوجه میشید!

/* sprintf example */
#include <stdio.h>
int main ()
{
  char buffer [50];
  int n, a=5, b=3;
  n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
  printf ("[%s] is a string %d chars long\n",buffer,n);
  return 0;
}

خوب سایت منبع هم به آدرس زیر هست!

کلیک کنید


امیدوارم به دردتون خورده باشه!

فعلا

یا علی مدد...!