我有点卡在这里。我正在为Commerce Server 2009开发一个自定义Pipleline组件,但这与我的问题没有多大关系。在C中读取时,如何从C++中获得 0的字符串#
在管道的设置中,我给用户一个窗体窗体来输入一些配置值。其中一个值是SharePoint网站的URL。 Commerce Server使用所有这些流水线内容的C++组件,因此输入的值将被放入IDictionary中,并最终通过Microsoft的C++组件持久保存到数据库中。
当我在流水线执行过程中读取字符串时,它会从C++的IDictionary对象中传递给我。我的C#代码看到后缀为\ 0 \ 0的URL。我不确定这些来自哪里,但是我的代码因为它不是一个有效的URI而被炸毁。在我保存并修剪它时,我正在修剪该字符串,并且仍然无法删除这些字符。
任何想法是什么造成了这一点,我怎么能摆脱它?我更喜欢不要像子字符串那样进行破解,而是根本原因。
感谢, 科瑞
的\ 0来自在C/C++字符串终止与约定\ 0(又名空)。它们被称为“以空字符结尾的字符串” – 2009-12-06 17:03:53
您的c#代码是否定义了封送处理?你正在得到一个IDictionary,所以有问题的字符串正在从一个对象转换?可能会将元素换行或以其他方式将对象转换为适当的字符串。你可以发布一些有问题的代码吗? – ongle 2009-12-06 19:04:00