Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
19 / 19 / 2
Регистрация: 13.07.2012
Сообщений: 164

Возврат указателя на массив из функции

08.02.2016, 16:31. Показов 999. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый, коллеги по цеху. Не откажите в нужде java программисту в познаниях нативного кода. Запутался я совсем в указателях. Как правильно использовать указатель из функции что бы передать в массив данные. Коряво выразился, но по коду что нужно сделать думаю понятно. Берем строку, зашифровываем, заносим в массив, потом расшифровываем полученный ранее массив и выводим. Сами алгоритмы протестированы и просто подогнаны с java.

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
char * encrypt(char input[], char key[]) {
    //
        // Очень много кода
        //
    return result;
}
 
char * decrypt(char input[], char key[]) {
    //
        // Очень много кода
        //
    return result;
}
 
int main() {
    char inp[6] = "hello";
    char key[6] = "123";
 
    char enc[] = { * encrypt(inp, key) };
    char  res[] = { * decrypt(enc, key) };
 
    cout << res << endl;
 
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2016, 16:31
Ответы с готовыми решениями:

Возврат указателя на массив из функции
Здравствуйте. Пытаюсь вернуть указатель на массив из функции. #include &lt;iostream&gt; using namespace std; int*...

Возврат указателя на массив указателей
Доброго времени суток. Есть программа, где куча методов должны работать с одни массивом указателей. Как мне сделать, чтобы в функции...

Возврат указателя из функции с нужным типом
Как как мне получить из функции указатель нужного мне типа? Можно ли для этого использовать шаблоны? У меня выдается ошибка &quot;ошибка:...

3
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
08.02.2016, 16:48
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
#include <iostream>
using namespace std;
 
//////////////////////////////////////////////////////////////////////
struct Key
{
    int _value;
};
//////////////////////////////////////////////////////////////////////
template<typename T, size_t N>
void encrypt(T(&a)[N], const Key& key )
{
    for(auto&& i : a)
    {
        i += key._value;
    }
}
//////////////////////////////////////////////////////////////////////
template<typename T, size_t N>
void decrypt( T( &a )[N], const Key& key )
{
    for(auto&& i : a)
    {
        i -= key._value;
    }
}
//////////////////////////////////////////////////////////////////////
template<typename T, size_t N>
void show( T( &a )[N])
{
    for(auto&& i : a)
    {
        cout << i;
    }
    cout << endl;
}
//////////////////////////////////////////////////////////////////////
int main()
{   
    Key key = {19};
    
    char text[] = "privet kak dela";
 
    show( text );
    encrypt( text, key );
    show( text );
    decrypt( text, key );
    show( text );
}
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
09.02.2016, 03:21
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
char * encrypt(char input[], char key[]) {
    
    size_t sizeStr = strlen(input);
    size_t sizeKey = strlen(key);
    char* result = new char[sizeStr + 1];
    strcpy(result, input);
    //
        // Очень много кода
        //
    return result;
}
 
char * decrypt(char input[], char key[]) {
    
    size_t sizeStr = strlen(input);
    size_t sizeKey = strlen(key);
    char* result = new char[sizeStr + 1];
    strcpy(result, input);
    //
        // Очень много кода
        //
 
    return result;
}
 
int main()
{
    char inp[6] = "hello";
    char key[6] = "123";
    
    char* enc = encrypt(inp, key);
    char* res = decrypt(enc, key);
 
    cout << res << endl;
 
    delete [] enc;
    delete [] res;
    return 0;
}
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.02.2016, 11:27
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
#include <iostream> 
#include <string>//это лучше
using namespace std;
 
char byteCodingXor(char a, char ckey)
{
return a^ckey;
}
 
string xSorry(string srcStr, char ckey)
{
string retStr="";
for(size_t i=0; i<srcStr.length(); ++i)
{
retStr+= byteCodingXor(srcStr[i], ckey);
}
return retStr;
}
 
void main()
{   
string srcStr="Sorry, I am so buzzy, I will be xSorred soon!";
cout<<"Original is: "<<srcStr<<endl;
string xOrStr=xSorry(srcStr, 'x');
cout<<"xOrEd is:\n________________________\n: "<<xOrStr<<endl;
xOrStr=xSorry(xOrStr, 'x');
cout<<"___________________\nunXOrEd is: "<<xOrStr<<endl;
cout<<endl;
system("pause");    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2016, 11:27
Помогаю со студенческими работами здесь

Передача\возврат указателя на массив в\из функции
Когда захожу в функцию PrintNeravenstvo, то указатель правильный, как только я делаю один заход на строчку( нажимаю ф10 один раз), то...

Возврат указателя на массив структур из функции?
Добрый день! Функция enter в момент вызова принимает массив структур monitor. Запускает функцию поиска свободной структуры...

Возврат указателя из функции
Почему функция vvod не возвращает указатель? #include&quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &quot;stdio.h&quot; ...

ASM (Возврат указателя из функции)
1)Предисловие Функция, написанная на языке Ассемблера вызывается из кода, написанного на С. 1)Вопрос: Через стек в функцию...

Возврат указателя на локальный массив
Например ример: static unsigned char * func(...) { unsigned char d; memset(d, 'A', 16); return d; }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru