The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"XOR к массиву *char"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"XOR к массиву *char"  +/
Сообщение от greenetc email(??) on 07-Июн-12, 13:27 
Здравствуйте. Есть массив
char mas[] = "\x02\x52\x46\x03";
требуется в конец массива дописать результат
mas[0]^mas[1]^mas[2]^mas[3]

Набросал такую вот функцию:

дано

void status()
{
    char mas[] = "\x02\x52\x46\x03";
    checksum(&mas[0]);
}

char * checksum(char * data)
{
    char sum=0;
    for (int i = 0; i<sizeof(data); i++)
        sum ^= data[i];
    printf("checksum = %02X\n",sum);
    return 0;
}

а в результате sum = 00 всегда получается ...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "XOR к массиву *char"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-12, 13:56 
> а в результате sum = 00 всегда получается ...

Надод! Кладите железо на жаровни -- мододёжи надь про перепонтение буферов... вкладывать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "XOR к массиву *char"  +/
Сообщение от greenetc email(ok) on 07-Июн-12, 14:05 
>> а в результате sum = 00 всегда получается ...
> Надод! Кладите железо на жаровни -- мододёжи надь про перепонтение буферов... вкладывать.

та понял уже .. мерси
    
        while (*data){
        sum ^= *data++;
    }

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "XOR к массиву *char"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-12, 14:09 

> пере понт ение буферов

%))) ...и все молчат?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "XOR к массиву *char"  +/
Сообщение от Alex_S (??) on 08-Июн-12, 05:03 
>> пере понт ение буферов
> %))) ...и все молчат?

а чо молчат..

функция возвращает 0 , потому что явно сказано - return 0;

а по условию , вкратце - в конец массива дописать ничего нельзя.
только динамически создавать новый и копировать.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "XOR к массиву *char"  +/
Сообщение от Alex_S (??) on 08-Июн-12, 05:05 
а , ну и sizeof(data) - это размер пойнтера, а не массива

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру