小编Ixa*_*zis的帖子

人物分类

再一个简单的问题是:有一个std::string,确定哪个字符是关于用户的语言和区域设置(区域设置)的数字,符号,空格等.

我设法使用boost locale边界分析工具将字符串拆分为一组字符:

std::string text = u8"???????";

boost::locale::boundary::segment_index<std::string::const_iterator> characters(
    boost::locale::boundary::character,
    text.begin(), text.end(),
    boost::locale::generator()("ja_JP.UTF-8"));

for (const auto& ch : characters) {
    // each 'ch' is a single character in japanese language
}
Run Code Online (Sandbox Code Playgroud)

但是,我还没有看到任何方法来确定ch是数字还是符号或其他任何东西.有提升字符串分类算法,但这些似乎不适用..无论*segment_index::iterator是什么.

我也不能申请std::isalpha(std::locale),因为我不确定是否有可能将增强段转换为charwchar_t.

有没有什么简洁的方法来分类符号?

c++ string boost locale

8
推荐指数
1
解决办法
436
查看次数

收到SIGINT或SIGTERM时是否需要执行trap EXIT?

我有一个简单的脚本

trap 'echo exit' EXIT
while true; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)

并且它在不同的shell中表现不同:

$ bash tst.sh
^Cexit
$ dash tst.sh
^C
$ zsh tst.sh
^C
$ sh tst.sh
^Cexit
Run Code Online (Sandbox Code Playgroud)

所以我不确定它应该如何操作以及它是否被指定.

error-handling shell signals shell-trap

7
推荐指数
1
解决办法
1045
查看次数

CUDA cublas <t> gbmv理解

我最近想使用简单的CUDA矩阵向量乘法.我在cublas图书馆找到了一个合适的功能:cublas << >> gbmv.这是官方文档

但它实际上非常差,所以我无法理解klku参数的含义.而且,我不知道是什么stride(它也必须提供).有关这些参数的简要说明(页37),但看起来我需要了解其他内容.

在互联网上搜索并没有提供关于这个问题的大量有用信息,主要是对不同版本的文档的引用.

所以我对GPU/CUDA/cublas大师提出了几个问题:

  1. 如何找到有关使用cublas的更易理解的文档或指南?
  2. 如果你知道如何使用这个功能,你不能解释我如何使用它?
  3. 也许Cublas图书馆有点特别,每个人都使用更受欢迎,更好记录的东西等等?

非常感谢.

cuda cublas

2
推荐指数
1
解决办法
844
查看次数

标签 统计

boost ×1

c++ ×1

cublas ×1

cuda ×1

error-handling ×1

locale ×1

shell ×1

shell-trap ×1

signals ×1

string ×1