Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Перекинунуть из массива в массив типа char юзаю приведение к <int>  (Прочитано 5340 раз)
0 Пользователей и 1 Гость смотрят эту тему.
EvilsInterrupt
Гость
« : 09-07-2005 11:05 » 

Есть:
char Key[32];
char KeyExt[128];

Как из второго покидать в первый юзая intы, то есть нечто:
for(int i;i<=7;i++)
{
static_cast<int>KeyExt = static_cast<int>Key;
}
Как это правильней?
Записан
EvilsInterrupt
Гость
« Ответ #1 : 09-07-2005 12:20 » new

Вот по подробней:
Здрастьте!

Вопрос такой:
Есть два массива
unsigned char a[32];
unsigned char b[128];

Мне надо на с++ сделать так, чтобы с начал копировалость с лева на право частями,
каждая не char а int и так 3 раза, а 4й раз с права налево 1 раз.

На асме это так:
Код:
a BYTE 32d dup(?)
b BYTE 128d dup(?)

mov esi,offset a
mov edi,offset b
mov ecx,3d
@@:
push ecx
mov ecx,8d
rep movsd
pop ecx
loop @B
sub esi,4d
mov ecx,8d
@@:
mov eax,dword ptr[esi]
mov dword ptr[edi],eax
sub esi,4d
add edi,4d
loop @B
Делал так:
Код:
unsigned char a[32];
unsigned char b[128];
int k=0
for(int i=0;i<=3;i++)
{
for(int j=0;j<=7;j- -)
{
static_cast<int>b[k] = static_cast<int>b[j];
k++;
}
}
for(i=0;j>=0;j++)
{
static_cast<int>b[k] = static_cast<int>b[j];
k++;
}
Но меня не поняли! Улыбаюсь)) Не удивительно, но почему, но как же на С++ написать такую вещь?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines