我有點卡在這裏。我正在爲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