首页 > 解决方案 > sizeof unsigned char,将 std::string 转换为 unsigned char

问题描述

你能告诉我为什么在这个例子中尺寸不同:

// 1
std::string str = "Sun Mar 29 16:05:28 2020";
const unsigned char *t{};
t = (unsigned char *) str.c_str();

std::cout << "t: " << t << " : " << sizeof(t) << " : " << str.length() << std::endl;
std::cout << "--" << std::endl;

// 2
const unsigned char f[] = "Sun Mar 29 16:05:28 2020";
std::cout << "f: " << f << " : " << sizeof(f) << std::endl;
std::cout << "--" << std::endl;

输出:

时间:2020 年 3 月 29 日星期日 16:05:28 : 8 : 24

f: 2020 年 3 月 29 日星期日 16:05:28 : 25

标签: c++c++14

解决方案


推荐阅读