4

可能重复:
Platform::String 有点没用

我是 Windows 开发的新手,新的 Visual C++ API 让我抓狂。我最近遇到了一个似乎缺少字符串函数的问题。是否有可用的基本功能,例如:

  • 子串
  • strpos 或类似的
  • 常用表达

我的最终目标是采用“C:\foo\bar\baz.jpg”之类的文件路径并提取最深的目录。在这个例子中,我正在寻找“bar”。

也许更令人担忧的是,我发现要找到 Win 8 API 的当前文档非常困难。寻找此类问题的最佳地点是什么?

4

2 回答 2

3

substring 是标准 C++ 库的一部分。

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

不完全确定我知道 strpos 做什么,但假设它是关于在字符串或类似物中查找字符的位置,那么它也是标准的。

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

正则表达式可以在跨平台 boost 库http://boost.org中找到。

于 2012-10-18T09:57:00.400 回答
3

WinRT C++/CX 类Platform::String应该只在你的应用程序/组件的边界使用。您的应用程序/组件中,您应该只使用普通的 ISO C++ 类。

所以你可以只使用std::wstring(因为Platform::String是 Unicode)它的方法和 Boost 的助手,然后在边界处转换 from/to std::wstringto/from 。Platform::String

于 2012-10-18T10:41:08.203 回答