- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在“Windows 应用商店”(又名 Metro 风格)应用程序中用 C++/CX 编写几行代码,我很惊讶地看到 Platform::String缺少许多基本的字符串操作,例如 "replace"或 "index of" .
我想我可以使用内部数据,将其传递给 std:string 实例并应用我需要的操作,但我想知道我是否缺少执行这些操作的某些“仅平台:: *”方式。
请注意这个问题是关于 C++/CX,而不是 C#。
最佳答案
Windows 运行时字符串类型, HSTRING
是不可变的并且是引用计数的。Platform::String
C++/CX 中的类型只是 HSTRING
的包装器类型及其支持的少数操作(请参阅 Windows Runtime C++ Functions 列表中以 Windows
开头的函数)。
没有改变字符串的操作,因为字符串类型是不可变的(因此没有 Replace
)。有一些非变异操作(当然比 C++ 的 std::wstring
少)。Platform::String
确实提供Begin()
和 End()
将随机访问迭代器返回到字符串中的成员函数(以及非成员 begin()
和 end()
重载)(它们返回指针, wchar_t const*
,并且指针是有效的随机访问迭代器)。您可以将这些迭代器与任何采用随机访问迭代器且不尝试改变底层序列的 C++ 标准库算法一起使用。例如,考虑使用 std::find
查找字符第一次出现的索引。
如果你需要改变一个字符串,使用 std::wstring
或 std::vector<wchar_t>
.理想情况下,考虑使用 C++ std::wstring
在您的程序中尽可能多地使用 C++/CX Platform::String
您需要与其他 Windows 运行时组件互操作的地方(即,跨越 ABI 边界)。
关于visual-c++ - Platform::String 真的这么没用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12533883/
我的正则表达式没有正确执行。 当我改变它的位置时,我得到不同的结果。 “bbbWindows”不是我想要的。为什么不是“bbb2222”? 'Windowsbbb'.replace(/Windows(
我正在努力理解这个概念,但我真的看不出它有什么用,所以我假设我没有捕获要点。 例如- 此正则表达式 /([0-9]+)(?:st|nd|rd|th)?/ 将匹配带有或不带“st”、“rd”等的数字。后
我在背景上下文中使用 Core Data 有一段时间了,想知道为什么每个人都建议使用 NSManagedObjectContextDidSaveNotification 从后台合并到主上下文。我创建了
我正在尝试上传数据库中的图片,但是当我检查它是否已上传时,该字段为空。我还想限制上传文件类型格式jpeg、png 和gif。请帮忙 HTML PHP 0) { $
我希望能够了解 SMS 或通话记录中的特定项目何时更改。当适当的内容提供者发生某些变化时,很容易收到通知,但是获取特定记录是完全低效的,因为需要维护商店的完整镜像,然后找出差异。这不仅是蹩脚的。有用的
我无法将 ScrollView 添加到我的布局中。我该怎么办? 错误说:在此行找到多个注释: - 这个 ScrollView View 是无用的(没有 child ,没有背景,没有 id,没有样式)
引自 C++11 标准: 19.5.1.5 Error category objects [syserr.errcat.objects] const error_category& system_c
我最近尝试使用多处理模块(和它是工作池)。我在这里阅读了一些关于多线程(与标准的非线程版本相比,它减慢了整个过程)和多处理的讨论,但我找不到一个(可能非常简单的)问题的答案: 你能用多处理加速 url
IBindingList 的 ListChanged 事件在删除项目时触发类型 ListChangedType.ItemDeleted,可能是用户删除绑定(bind)到列表的数据网格控件中的一行。
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
据我了解,如果未找到所请求的 Atom,FindAtom 将返回 0。但即使在这个小代码中,根本没有任何 AddAtom,它似乎总是返回一些东西。这是为什么?这不会让带有 Ints 的 FindAto
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
在 Windows 7 上,查看文件 c:\windows\winsxs...\weather.js 有一个函数computeSunRiseSunSet(Latitude, Longitude, Ti
我想为我的应用程序使用辅助方法 isLowRamDevice,它可以流式传输视频。由于我支持 API 级别 15 以下的设备,因此我不得不使用 ActivityManagerCompat.isLowR
我遇到嵌套布局问题并抛出一些异常。错误是“此 LinearLayout 布局或其 LinearLayout 父级无用......”。我知道我可以通过此设置忽略此警告。 设置:Build Path->C
我购买了很多(500 多台)带有 AllWinner 处理器和 Android 4.0.3 的廉价中国平板电脑。所有平板电脑都公开相同的序列号。我无法使用 ADB.EXE 在多个设备(带有 USB 集
当我将 RecyclerView 与 LinearLayoutManager 一起使用时,它将方向设置为水平,然后将适配器设置为 RecyclerView。同时,我将RecyclerView的可见性设
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
这是 contain from 方法,它写入隐藏的字母。当我按下退格键时,我需要以某种方式从控制台中删除 char *。 private static string Password()
来自 mscorlib.dll: public interface IList : ICollection, IEnumerable, IEnumerable {..} public class Li
我是一名优秀的程序员,十分优秀!