相关疑难解决方法(0)

std :: wstring VS std :: string

我无法理解之间的差异std::stringstd::wstring.我知道wstring支持Unicode字符等宽字符.我有以下问题:

  1. 我什么时候应该std::wstring用完std::string
  2. 可以std::string保存整个ASCII字符集,包括特殊字符吗?
  3. std::wstring由所有流行的C++编译器的支持?
  4. 什么是" 广角 "?

c++ string unicode c++-faq wstring

716
推荐指数
7
解决办法
29万
查看次数

为什么C没有snwprintf函数?

有谁知道为什么snwprintfC标准库中没有功能?

我知道swprintf,但是它没有与真实wchar_t版本相同的语义snprintf.据我所知,没有简单的方法来实现一个snwprintf函数使用[v]swprintf:

不同snprintf,swprintf不返回必要的缓冲区大小; 如果提供的缓冲区不足,则只返回-1.这与由于编码错误导致的失败无法区分,因此我不能继续使用逐渐增大的缓冲区重试,希望它最终会成功.

我想我可以将缓冲区的最后一个元素设置为非NUL,调用swprintf,并假设如果该元素之后是NUL则发生截断.但是,这有保证吗?如果swprintf失败,标准不指定缓冲区应处于什么状态.(相反,snprintf描述了哪些字符被写入以及哪些字符被丢弃.)

c

11
推荐指数
1
解决办法
3822
查看次数

标签 统计

c ×1

c++ ×1

c++-faq ×1

string ×1

unicode ×1

wstring ×1