2013-11-20 3 views
-3

Я хочу строку, которая отделена от «\ 0» Это моя C++ строка, я хочу эту строку, чтобы быть в C#строка разделенные « 0» в C#

#define DRIVERDLL "My.dll" 
#define SETUPDLL "MySetup.dll" 

NAME"\0""Driver="DRIVERDLL"\0""Setup="SETUPDLL"\0" 

Как это сделать в C#?

+2

Может ли вы спроектировать выход и вход? –

+0

Вышеуказанная строка будет введена в функцию, которую я хочу вызвать –

+1

Что именно вы считаете «\ 0» в 'C#'? Это не нуль-терминатор, как в 'C++'. Что вы ДЕЙСТВИТЕЛЬНО пытаетесь сделать? – flindeberg

ответ

0

Я думаю, что может быть что-то вроде:

string name = "name" 
string driverdll = "My.dll" 
string setupdll = "MySteup.dll"; 

string output = String.Format("{0}\\0Driver={1}\\0Setup={2}\\0", name, driverdll, setupdll). 
+0

Принято без \ 0 ... Замечательно – lboshuizen

+0

Нет, я хочу \ 0 между ними, я удалил прием –

+0

Я адаптировал свой код к вашему запросу. –

0

Непонятно, что вы пытаетесь выполнить.
Только предположение:

const string NAME = "..."; 
const string DRIVERDLL= "My.dll"; 
const string SETUPDLL= "MySetup.dll"; 
string s = NAME + "\0Driver=" + DRIVERDLL + "\0Setup=" + SETUPDLL + "\0"; 
+0

После вашего кода я пробовал печатать s, и он только дает мне «Имя», вместо этого я хочу «Name Driver = My.dll Setup = MySetup.dll» –

+0

@ameybarve: Вы спросили, как создать строку, содержащую символы '\ 0' , После этого вы не сказали, что вы делаете с этой строкой. Такая строка должна быть разделена 'string.Split ('\ 0')' перед отображением. – joe

0

согласно ваш комментарий

string s = "NAME Driver=" + DRIVERDLL + " Setup=" + SETUPDLL + "\0"; 
+0

Имя должно быть переменной. –

+0

Нет, это то, о чем он не упоминал в комментарии ... »Вместо этого я хочу« Name Driver = My.dll Setup = MySetup.dll »... просто привязывая к помощи. Он сам не знает, что хочет –

+0

Да, но исходный код в C++: NAME "\ 0" "Driver =" DRIVERDLL "\ 0" "Setup =" SETUPDLL "\ 0" означает, что NAME является переменной. :) –

0

То, что вы на самом деле перехода к функции является массив строки. Или я подозреваю, что вызываемая функция ожидает массив строк. Рукой, создавая строку, которая имитирует строку [], вернется к вам на более позднем стадионе.

Я предлагаю сделать это правильно и правильно выстроить строки.

Посмотрите на http://www.codeproject.com/Articles/17450/Marshal-an-Array-of-Zero-Terminated-Strings-or-Str

Смежные вопросы