小编Zep*_*oli的帖子

在 C++ 中使用 char8_t 数据类型时要使用哪个头文件或定义?

所以我想char8_t在我的代码中使用数据类型。但我的编译器向我显示它找不到像 这样的标识符char8_t,这可能意味着它找不到所需的头文件或定义。

那么谁能告诉我应该使用哪些头文件/定义来获取char8_t数据类型?语言是C++. 如果您也能回答,我将不胜感激C

PS:<cwchar>没用。

编辑:

我的代码:

#include <iostream>
#include <cwchar>
using namespace std;
int main()
{
char c='a';
wchar_t w=L'A';
char8_t c8=u8'c';
char16_t c16=u'D';
char32_t c32=U'K';

cout<<"Data Type"<<"\t"<<"Size"<<"\n"
<<"char"<<"\t \t"<<sizeof(c)<<" bytes"<<"\n"
<<"wchar_t"<<"\t \t"<<sizeof(w)<<" bytes"<<"\n"
<<"char8_t"<<"\t"<<sizeof(c8)<<"\n" 
<<"char16_t"<<"\t"<<sizeof(c16)<<" bytes"<<"\n"
<<"char32_t"<<"\t"<<sizeof(c32)<<" bytes"<<"\n";

return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的编译器抛出这个错误:

WideCharacters.cpp: In function 'int main()':
WideCharacters.cpp:8:5: error: 'char8_t' was not declared in this 
scope; did you mean 'wchar_t'?
8 |     char8_t c8=u8'c';
  |     ^~~~~~~ …
Run Code Online (Sandbox Code Playgroud)

c++ c++20

5
推荐指数
1
解决办法
685
查看次数

标签 统计

c++ ×1

c++20 ×1