PDA

View Full Version : ضروری !!! این اشکال از چیه ؟؟؟



مهدی رحیم زاده
جمعه 08 تیر 1386, 08:51 صبح
سلام دوستان عزیز ...
این کد ها رو نگاه کنید :

typedef struct char_{
char char_holder[50];
int num[50];
}_char;
من این ساختار رو تعریف کردم و توی یک تایع از اون استفاده کردم ...
بعد این تابع رو فراخوانی کردم اینجا :

char_ faravani_;
.
.
.

faravani_=faravani(&n);

حالا وقتی می خوام مقادیری رو که از تابع return کردم رو بزارم توی یک متغییر اشکال میگیره .

for (i = 0; i < n; i++)
{
freq=faravani_.num[i];
strcpy(str,faravani_.char_holder[i]);
a[i] = create(str,freq);
}
روی خطی که رشته ها رو جا به جا کردم اشکال میگیره و میگه نمیتونم مقدار int رو با char* پر کنم ...
در صورتی که هر توتا از نوع char هستن ....

emad_67
جمعه 08 تیر 1386, 09:47 صبح
این خط مشکل داره


strcpy(str,faravani_.char_holder[i]);

باید این جوری بنویسی


strcpy(str,faravani_.char_holder);

چون وقتی مینویسی ]faravani_.char_holder[i فقط 1 کاراکتر از رشته یعنی i امین کاراکتر در نظر گرته میشه در حالی که تابع strcmp باید رشته دریافت کنه نه یک کاراکتر