相关疑难解决方法(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万
查看次数

如何将非 ASCII 字符导入控制台?

我一直在挠头一段时间,我需要一些帮助。基本上我想要代码做的是将一系列非 ASCII 符号读入一个空的预设数组,我正在打印它们以查看它们是否确实被读取,而它们目前没有被读取。记事本可以很好地显示它们,但由于某种原因,C++ 无法将它们识别为有效字符,强烈建议任何仅与代码有关且不更改计算机内部设置的建议。

char displayCharacters[5] = {};

try {

    instream.open("characters.txt");
    instream >> displayCharacters;
    cout << "Here is the first symbol: " << displayCharacters[4];

} 

catch (exception) {

    cout << "Something went wrong with the file handling.";

}
Run Code Online (Sandbox Code Playgroud)

是的,我已经正确设置了输入流,从 iostream 的导入和使用命名空间 std 中使用了 cout。以下是该文件的内容:

?
 
?
?
?
Run Code Online (Sandbox Code Playgroud)

编辑:如果您需要知道,该文件是 UTF-8。

c++ c++17

4
推荐指数
1
解决办法
93
查看次数

C++ 字符串代码点和代码单元有什么好的解决方案吗?

在 Java 中,字符串有以下方法:

\n\n
length()/charAt(), codePointCount()/codePointAt()\n
Run Code Online (Sandbox Code Playgroud)\n\n

C++11有std::string a = u8"\xe5\xbe\x88\xe7\x83\xab\xe7\x83\xab\xe7\x9a\x84\xe4\xb8\x80\xe9\x94\x85\xe6\xb1\xa4";

\n\n

a.size()是char数组的长度,无法索引unicode char。

\n\n

C++ 字符串中的 unicode 有解决方案吗?

\n

c++ unicode utf-8 utf-16

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

标签 统计

c++ ×3

unicode ×2

c++-faq ×1

c++17 ×1

string ×1

utf-16 ×1

utf-8 ×1

wstring ×1