Отправить строку из C # в C ++ - PullRequest
1 голос
/ 21 февраля 2012

У меня есть программа на C ++, которая выполняет некоторую обработку массива char search[500].Уловка заключается в том, что search[] должно быть присвоено значение из программы на C #.

Учтите, что у меня есть эта программа на C #, которая получает данные от пользователя textbox и должна отправить это string на C #.

Мне удалось экспортировать данные, функции и переменные из C ++ в C #, но я не знаю, как это сделать.

[DllImport("Test.dll", EntryPoint = "fnmain", CallingConvention = CallingConvention.Cdecl , CharSet = CharSet.Ansi)]
private static extern int fnmain();//pass what in parameter?

C ++

//search[] parameter has to be here. What type to be assigned to get from C# and further get search[] char array
    int main(char search[])
    {
    ..
    }

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Я думаю, вы хотите, чтобы поиск был string.Я считаю, что CharSet.Ansi - это все, что вам нужно, чтобы убедиться, что взаимодействие преобразует строки в char *.

0 голосов
/ 21 февраля 2012

Это может звучать глупо. Рассматривали ли вы вызов программы C ++ с аргументами командной строки? Если инициализация занимает много времени, вы можете использовать понятия каналов или чтения / записи из или в файлы. Если вы можете немного программировать сокеты, это будет означать истинную асинхронную передачу данных. Надеюсь, это помогло.

...