0

我正在 c# 上为 notepad++ 编写插件。我的插件创建一棵树来表示某些特定文本文件的结构。我在调用带有(char* 文本)等参数的函数时遇到了一些问题。你能帮mw解决这个问题吗?

例如

SCI_GETLINE(int line, char *text)
{
    string st="";
    Win32.SendMessage(curScintilla, SciMsg.SCI_GETLINE, (int)line, st);
}

这种调用 raise 的方式是无效的字符串格式异常。

4

1 回答 1

2

用: 标记论点[MarshalAs(UnmanagedType.LPStr)]。问题是您正在传递某种字符串类型的 unicode 字符串,该字符串类型不是字节 C 样式的空终止字符串。

于 2012-12-09T20:34:45.480 回答