我在c#上为notepad ++编写了一个插件。我的插件创建了一个树来表示某些特定文本文件的结构。 调用带参数的函数(char * text)时遇到一些问题。你能帮忙解决这个问题吗?
例如
SCI_GETLINE(int line, char *text)
{
string st="";
Win32.SendMessage(curScintilla, SciMsg.SCI_GETLINE, (int)line, st);
}
这种方式调用raise无效的字符串格式exeption。
答案 0 :(得分:2)
使用以下参数标记参数:[MarshalAs(UnmanagedType.LPStr)]
。问题是你在一些字符串类型中传递一个unicode字符串,它不是字节C样式的空终止字符串。