2011-02-02 57 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”,这两个字符可能有相反的顺序,或者其他一些标记已被替换。