PDA

View Full Version : کپی آرایه تک بعدی در دو بعدی



hesam_bar
سه شنبه 02 آبان 1391, 18:04 عصر
سلام

من یه آرایه تک بعدی دارم


flash unsigned char image_code[2176]

حالا میخوام هر بار 32 عضو رو کپی کنم بار اول 32 عضو اول بار دوم 32 عضو بعدیش و الی آخر تو یک آرایه دو بعدی زیر



unsigned char r_image[64/4][4];


میدونم که باید از دستور memcpy استفاده کنم ولی چطوری ؟!

Ananas
چهارشنبه 03 آبان 1391, 00:06 صبح
سلام. امتحانش کن :

unsigned char image_code[2176];
unsigned char r_image[68][32];
unsigned char * p = image_code;
for (int i = 0; i < 68; i++)
{
memcpy(r_image[i], p, sizeof(char) * 32);
p += 32;
}

hesam_bar
چهارشنبه 03 آبان 1391, 10:06 صبح
سلام دوست عزیز اومدم بگم مشکلم حل شد که دیدم شما زحمت کشیدید

روش شما رو امتحان کردم نشد شایدم من نتونستم !

چنتا اشکال داشتم یکیش این بود به جای استفاده از memcpy باید از memcpyf استفاده میکردم

بعدم احتیاجی نبود اندیس های آرایه هام رو بنویسم و باید مثل متغیر معمولی احضارشون میکردم این کارو کردم درست شد اما فقط 64 تا خانه اول کپی میشد مه با جمع کردن با آرایه ام مشکلم حل شد و تو شرطمم چک کردم که مقدارش خارج از آرایه نشه !

بازم از لطفتون ممنون .