PDA

View Full Version : مبتدی: تابع strcpy و strcat



smemamian
پنج شنبه 28 دی 1391, 22:02 عصر
سلام دوستان

چرا در خروجی این دوتابع، b تغییر کرده ؟!

char a[] = "abc";
char b[] = "def";
strcpy(a,b);
cout << a << "\t" << b << endl ;
strcat(a,b);
cout << a << "\t" << b << endl ;


http://upcity.ir/images/29747637523849887396.png (http://upcity.ir/images/29747637523849887396.png)

the king
پنج شنبه 28 دی 1391, 22:19 عصر
نباید تغییر کنه، کامپایلر تون چیه؟ یکبار بجای t\ از n\ استفاده کنید ببینید مقدار همچنان همونه یا نه.

UfnCod3r
پنج شنبه 28 دی 1391, 22:27 عصر
شما b رو کپی کردی تو a و جفتشون می شن def
بعدش امدی b رو به ادامه a اضافه کردی در صورتی که a سه حرفه ! چون متغییر a, b هم رو استک هستن و پشت سر هم هستن مقدار b قاطی می شه و '\0' متغیر a از بین میره و رشته رو که چاپ می کنی defdef نشون میده !