2011-02-02 41 views
2

我已經有些代碼:問題在C++讀音變換角色

std::string str2("Hello\r\n"); 
if (str2.find ("\r\n") != std::string::npos) 
    Console::WriteLine("Enter!\n"); 

在控制檯屏幕: 輸入!

都好,但 如果我們從xml.GetData(),它返回字符串

std::string str2(xml.GetData()); 
if (str2.find ("\r\n") != std::string::npos) 
    Console::WriteLine("Enter!\n"); 

在控制檯屏幕創建STR2: 空

如何解析爲 「\ r \ n」,爲實例,從xml.GetData()

回答

3

這取決於你的XML數據是如何處理行結束。它可能只是\n。嘗試搜索,而不是\r\n

編輯:不GetData()返回與當前節點相關的數據?除非你不在實際的元素/屬性之外,否則這可能永遠不會產生新的內容。

+0

我已經解決了這個問題。在「str2.find(」\ r \ n「)」我犯了致命的錯誤。請寫下:str2.find(「\\ r \\ n」) – 2011-02-02 12:08:19

1

這顯然取決於你的xml類,你沒有指定你正在使用的庫。無論如何,顯然你可以在str2中打印出單個字符的數值,以查看是否/如何表示/捕獲換行符:即(int)str2[i]對於0str2.size() - 1(含)之間的i

如果沒有明確的「\ r」(回車符),它很可能只是「\ n」,這兩個字符可能有相反的順序,或者其他一些標記已被替換。