Форум программистов, компьютерный форум CyberForum.ru

Base64: кодирование и декодирование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана строка, содержащая текст. Найти слова, в которых буквы расположены по алфавиту http://www.cyberforum.ru/cpp-beginners/thread1744151.html
Задание 11. Дана строка, содержащая текст. Найти слова, в которых буквы расположены по алфавиту. (Например: Abefz) Вот допустим объявил строку char s="abcdef fadfeqerf fadf q fqefq fqfqfsdffda"; Препод говорит используй функцию разбора строки на лексемы, вот такую билеберду написал, думать честно говоря дальше лень #include<iostream.h> #include<string.h> #include<conio.h>...
C++ Возврат по ссылке Вычитал давно еще, что если возвращать статический обьект из метода и присвоить его констатной ссылке то он продолжить жить пока видима эта ссылка. Что не так в коде? Выводит лишь первую строку двумерного массива. Если убрать ссылку, и делать по значению, все фурычит. QVector<QVector<QString> >& querySelect(QString query_string) { QVector<QVector<QString> > result; // changes... ... http://www.cyberforum.ru/cpp-beginners/thread1744131.html
Задержка командной строки C++
При нажатии кнопки на форме Билдера открывается командная строка, пингует айпишник и тут же закрывается. Как мне ее задержать, чтобы я успел посмотреть результат? system("pause") не подходит
Игнорирование пробелов при считывание C++
Здравствуйте, друзья. передо мной стоит задача проверить, является ли строка палиндромом. я предложил вот такую реализацию. #include <iostream> #include <stdlib.h> #include <cstring> using namespace std; bool compare(char a, char b)
C++ По номеру строки в тексте определить номер страницы http://www.cyberforum.ru/cpp-beginners/thread1744116.html
В книге на одной странице помещается k строк. Таким образом, на 1-й странице печатаются строки с 1-й по k-ю, на второй — с (k+1)-й по (2k)-ю и т. д. Напишите программу, по номеру строки в тексте определяющую номер страницы, на которой будет напечатана эта строка, и порядковый номер этой строки на странице. Входные данные На вход программе подаются число k — количество строк на странице и...
C++ Перевести градусы циферблата в часы и минуты Часовая стрелка повернулась с начала суток на d градусов. Определите, сколько сейчас целых часов h и целых минут m. Входные данные На вход программе подается целое число d (0d360). Выходные данные Выведите на экран фразу: It is ... hours ... minutes. подробнее

Показать сообщение отдельно
артист
2 / 4 / 4
Регистрация: 17.09.2014
Сообщений: 700
Завершенные тесты: 1
24.05.2016, 20:31  [ТС]     Base64: кодирование и декодирование
Спасибо.
Всё, сделал )) Выкинул половину ненужных массивов...

Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
new const g_abc[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
 
stock base64_encode(in[], len, out[])
{   
    new i, j, buf[4]
    
    while(i < len)
    {
        buf[0] = in[i] >> 2
        buf[1] = ((in[i] & 3) << 4)|(in[i + 1] >> 4)
        buf[2] = ((in[i + 1] & 0x0F) << 2)|(in[i + 2] >> 6)
        buf[3] = in[i + 2] & 0x3F
        
        j = -1
        
        while(++j < 4)
        {
            if(!buf[j]) out[i + (i / 3) + j] = '='
            else out[i + (i / 3) + j] = g_abc[buf[j]]
        }
        i += 3
    }
    return strlen(out)
}
 
stock base64_decode(in[], len, out[])
{
    new i, j, buf[4], c[2]
    
    while(i < len)
    {
        j = -1
        
        while(++j < 4)
        {
            if(in[i + j] == '=') buf[j] = '^0'
            else
            {
                formatex(c, charsmax(c), "%c", in[i + j])
                buf[j] = contain(g_abc, c)
            }
        }
        out[i - (i / 4)] = ((buf[0] << 2) | (buf[1] >> 4))
        out[i - (i / 4) + 1] = ((buf[1] << 4) | (buf[2] >> 2))
        out[i - (i / 4) + 2] = (((buf[2] & 0x03 )<< 6) | (buf[3] & 0x3f))
        i += 4
    }
    return strlen(out)
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru