C++11 char16_t strstr and sprintf equivalent
C++11 char16_t strstr and sprintf equivalent
对于char16_t类型是否有任何等效的strstr和sprintf函数?
另外,我在哪里可以找到char16_t的剩余函数?
我认为没有这样的函数。
如果sizeof(char16_t) == sizeof(wchar_t)
,你可以使用像wsprintf
那样的宽字符串函数
警告:Linux上的sizeof(wchar_t) == sizeof(int32_t)
!
你总是可以使用(在c++ 11中)std::u16string
也许你可以考虑使用Qt5 QChar(几乎像UTF16中的char16_t
)和QString。您只需要链接QtCore
即可。那么QString::arg与sprintf
可以提供的功能类似(但不等价)。
正如我所评论的,浮点到字符串的转换很棘手。也许MUSL libc(自由软件,MIT许可)中的一些代码可以启发您,您可以借用其中的一些。
对于strstr,如果您只对布尔值结果感兴趣,您可以使用std::u16string_view::find
甚至c++ 23 std::u16string_view::contains
。
const bool contains_world =
std::u16string_view(u"Hello, World!").find(u"World") != std::u16string_view::npos;
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 为什么 Clang 不允许"and"作为函数名称?
- 位阵列上的快速AND运算
- 是否可以在 C++03 中定义'move-and-swap idiom'等效项
- BoostPython and CMake
- OpenSSL BIO and SSL_read
- 使用 sprintf 将十六进制0xAABBCC转换为字符串"AA:BB:CC"
- 高精度双精度的 Sprintf 格式化问题
- Gurobi GRBModel and GRBmodel in C++
- sprintf(b, "%" ) 是否定义了?
- std::visit and std::variant usage
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- Directx12 and keystrokes
- different between int **arr =new int [ n]; and int a[i][j]?
- C++ getenv and setenv
- Inference pytorch C++ with alexnet and cv::imread image
- Visual Studio 2019 C++ and std::filesystem
- Python sprintf and memset operations
- C++11 char16_t strstr and sprintf equivalent