Проблема с чтением символов преобразования в c ++ - PullRequest
2 голосов
/ 02 февраля 2011

У меня уже есть код:

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

На экране консоли: введите!

Все хорошо, но если мы создадим str2 из xml.GetData (), который возвращает строку

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

На экране консоли: пусто

Как проанализировать "\ r \ n", например, из xml.GetData ()

Ответы [ 2 ]

3 голосов
/ 02 февраля 2011

Это зависит от того, как ваши xml-данные обрабатываются в конце строки.Это может быть просто \n.Попробуйте найти именно это вместо \r\n.

РЕДАКТИРОВАТЬ: GetData() не возвращает данные, связанные с текущим узлом?Если вы находитесь вне фактического элемента / атрибута, это может никогда не дать новую строку.

1 голос
/ 02 февраля 2011

Это, очевидно, зависит от вашего класса xml, и вы не указали, какую библиотеку вы используете.В любом случае, очевидно, что вы можете распечатать числовое значение отдельных символов в str2, чтобы увидеть, будут ли / как отображены / захвачены символы новой строки: т.е.* Скорее всего, это просто "\ n" без явного "\ r" (возврат каретки), весьма смутно возможно, что оба символа находятся в обратном порядке или какой-то другой токен был заменен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...