Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 09:59:21

Страниц: [1]
Печать
Автор Тема: Написать функцию  (Прочитано 542 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
kostyl    ↓ 
21 Январь, 2011, 11:04:24
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

Есть файл тектовый в аски кодировке, нужно каждый символ этого файла представить в виде двух символов шестнадцатиричного кода исходного символа. Язык С (не с++ и не с#) . Фходные файлы очень большие бывают. Я подозреваю что можно это сделать очень простым способом типа реобразовать биты ... Какие есть варианты ибо я не шарю в С??
Записан

качество жизни обратно пропорционально количеству лени
Frozzeg    ↓ 
21 Январь, 2011, 06:07:14 , спустя 7 часов 2 минуты 50 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Санитары

Карма: 92
Сообщений: 5499
Сила слова: 1.67

представляешь каждый символ в int, потом переводишь, а сам переводчик нагугли "decimal to hexadecimal C C++"
Записан

Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор.
Отложить на завтра — значит впасть в рекурсию. © Frozzeg
kostyl    ↓ 
21 Январь, 2011, 06:46:08 , спустя 38 минут 54 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

а нельзя как то просто преобразовывая тип, например, нет ли в С типа вроде hexstring ?
Записан

качество жизни обратно пропорционально количеству лени
krasun    ↓ 
21 Январь, 2011, 08:04:38 , спустя 1 час 18 минут 30 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

Символ в ascii - это уже число (в C), что еще надо? фунцию dec2hex?
Записан
kostyl    ↓ 
22 Январь, 2011, 01:11:18 , спустя 5 часов 6 минут 40 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

не, hex это тоже только те же 2 числа... надо конверт а не dec2hex
Записан

качество жизни обратно пропорционально количеству лени
Nyaah    ↓ 
22 Январь, 2011, 09:41:15 , спустя 8 часов 29 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 34
Сообщений: 521
Сила слова: 6.53

В си char это просто код символа, тоесть число длиной 1 байт, также как вайд чар - число длиной 2 байта. Тебе после чтения данных, нужно просто вывести их в другом формате (использовать не %s или %c при форматированном выводе, а %d (просто число), %x (в 16 системе)), тоесть что-то типа:
C#
do {
    count = fread(fileHandle, 1, _BUFFER_LENGTH_, buffer);
    for (i = 0; i < count; i++) {
        fprintf(outFileHandle, "x%x ", buffer[i]);
    }
} while (count == _BUFFER_LENGTH_);
Записан

Work, buy, consume, die
kostyl    ↓ 
22 Январь, 2011, 02:54:51 , спустя 5 часов 13 минут 36 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

Nyaah, спасибо это то что я подразумевал. Но наверно просто сделаю карту конверта ASCII страницы та и пиздец, а то printf может быть медленным...
Записан

качество жизни обратно пропорционально количеству лени
krasun    ↓ 
22 Январь, 2011, 07:33:43 , спустя 4 часа 38 минут 52 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи
Группа: Джедаи

Карма: 41
Сообщений: 1379
Сила слова: 2.97

kostyl, что такое карта конверта? И почему она будет быстрей, чем fprintf?
Записан
kostyl    ↓ 
22 Январь, 2011, 08:57:35 , спустя 1 час 23 минуты 52 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

карта конверта
это считай массив индексы в котором соответствуют коду аски символа, а значения - два шестнадцатиричных символа, если представить в виде с троки... получается что надо будет увеличить указатель на код символа и прочитать значение - и больше ничего...
а почему будет быстрее - я не знаю, мне так кажется, надо проверить, еще не успел...
Записан

качество жизни обратно пропорционально количеству лени
vasa_c    ↓ 
22 Январь, 2011, 10:35:31 , спустя 1 час 37 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

как использоваться то это будет? если выводиться, то явно printf()'ом сразу лучше.
 
а вообще:
C
high = char >> 4;
low  = char && 0b00001111;
Записан

fgets    ↓ 
23 Январь, 2011, 03:59:32 , спустя 5 часов 24 минуты 1 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 1119
Сила слова: -0.09

это моё 221 сообщение на пыхе - пойду напьюсь
Записан

эй детка не ссы в бассейн

Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Sinkler