Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 14
1

Передача char* из программы на C++ в dll на C# (char* С++ to byte[] C#)

26.11.2017, 12:48. Показов 900. Ответов 0
Метки с++ (Все метки)

Author24 — интернет-сервис помощи студентам
Есть некоторая программа на C++ к которой подключена dll на C#
В С++ есть переменная типа char* (назовем её char *dump, к примеру) содержащая бинарные данные (дамп). И вызывается функция из .Net dll в которую передается эта переменная (К примеру Load(dump));

Вопрос в том, какой тип данных нужно указать в функции Load на C#?
C#
1
2
3
4
public static viod Load(/*какой тип переменной?*/ dump)
{
 
}
Ну или как это можно реализовать иначе?

string не подходит, если указать byte[], то в массиве только один первый символ. Если char[] (не пробовал), но что с ним дальше делать, как преобразовать и можно ли?
В итоге мне на .Net надо получить byte[] для проведения дальнейших манипуляций с ним;

Оба исходника есть (на C++ и C#), если что, то можно и исходник на C++ подправить, но его знания ≈0;

Читал, что для обратного случая, когда подключается dll на С++ в проект C# для получения корректного char* применяют Marshal.Copy(), но как его можно применить в данном случае и можно ли вообще как то применить понять не могу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2017, 12:48
Ответы с готовыми решениями:

Std::fstream почему функция write принимает параметр char* а не unsigned char* (аля byte*) ?
Ну собственно сабж... std::fstream fs; fs.write((char*)..) В случае бинарного потока я допустим...

Преобразовать тип данных char[] -> wchar -> BYTE для структуры DATA_BLOB crypt32.dll
Помогите, пожалуйста, написать за меня: 1) преобразование аргумента ком. строки -> в Unicode...

Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings])
Почему компилятор на это матерится? ObjA.Show("A"); deprecated conversion from string constant...

DLL, ошибка Cannot convert 'char *' to 'char'
подключал dll по примеру https://www.cyberforum.ru/cpp-builder/thread154847.html // определяем тип...

0
26.11.2017, 12:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2017, 12:48
Помогаю со студенческими работами здесь

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда...

Char в BYTE
не пойму как такое реализовать CHAR* old= {"text1","text2","text3"}; BYTE TEXT; for(int...

Char to byte
Есть массив типа char. Как привести его элементы к int, я знаю А как привести элементы к байтовому...

Byte to char
Здравствуйте, у меня возникла такая трабла: array<Byte> ^buffer= gcnew array<Byte>(N); ......


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru