platform :: string Функции в Windows 8 / RT Переполнение стека

Возможный дубликат:
Платформа :: Строка вроде бесполезна

Я новичок в разработке для Windows, и новые API Visual C ++ сводят меня с ума. Я совсем недавно столкнулся с кажущимся отсутствием строковых функций. Доступны ли основные функции, такие как:

  • подстрока
  • или аналогичные
  • регулярные выражения

Моя конечная цель — взять путь к файлу, например, C: \ foo \ bar \ baz.jpg, и извлечь самый глубокий каталог. В этом примере я ищу «бар».

Возможно, более серьезную проблему я обнаружил, что найти текущую документацию для API-интерфейсов Win 8 невероятно сложно. Как лучше всего искать такие вопросы?

4

Решение

Классы WinRT C ++ / CX, такие как Platform::String следует использовать только на границе ваших приложений / компонентов. внутри ваши приложения / компоненты вы должны просто использовать обычные классы ISO C ++.

Так что вы можете просто использовать std::wstring (поскольку Platform::String Unicode) с его методами и помощниками Boost, а затем конвертировать из / в std::wstring в / из Platform::String на границе.

3

Другие решения

подстрока является частью стандартной библиотеки C ++.

string x = "abc";
string y = x.substr(1, 2);

Не совсем уверен, что знаю, что делает strpos, но если предположить, что речь идет о поиске позиции символа в строке или подобном, то это тоже стандарт.

string x = "abc";
string::size_type p = x.find('b');

Регулярные выражения можно найти в кросс-платформенной библиотеке повышения, http://boost.org.

3