多字符到字符数组

时间:2019-07-13 01:56:53

标签: c++ char hex static-cast

我尝试将多字符文字转换为char数组。

我知道static_cast以及如何计算多字符

但是如何将多字符文字的结果插入数组。

遵循代码。

#include <iostream>
using namespace std;

int main()
{
    char a [] ={static_cast<char>('adcde')};
    cout << 'adcde' << endl;
    cout << a << endl;
    cout << a[3] << endl;
}

输出:

1684235365
e\270\365\277\357\376
\277

1 个答案:

答案 0 :(得分:0)

char a [] ={static_cast<char>('adcde')};

这将创建一个包含1个元素的数组。元素的值是强制转换的结果。这将是一些实现定义的值。

cout << 'adcde' << endl;

这将打印多字符文字。这将是一些实现定义的值。

cout << a << endl;

这将打印一个字符数组。但是,因为数组不包含以null终止的字符串,所以程序的行为是不确定的。

cout << a[3] << endl;

这将访问边界之外的1个元素的数组,并且程序的行为是不确定的。