c++ - 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
解决方案
推荐阅读
- asynchronous - 我不应该在 future::stream::Unfold 上调用 next 吗?
- node.js - 在 MongoDB 中按 INC 值查找文档
- amazon-web-services - RDS 实例和对应的 EC2
- java - 我不知道为什么我的代码给出了错误的答案
- python - 如何将我的训练数据集(通过 TF Dataset API 创建)输入到 RNN/LSTM 模型中?
- html - 相对于 div 的文本布局
- asp.net - 尝试更新 GridView 中的行时出错
- docker - 如何在 docker-compose 中获取服务的别名(备用主机名)?
- reactjs - MobX 类商店与功能性商店
- php - 加载具有 XML 命名空间的 XLSX 电子表格