- 主题:万特,求教C++字符串指针 (转载)
【 以下文字转载自 NewExpress 讨论区 】
发信人: wanllow (wower), 信区: NewExpress
标 题: 万特,求教C++字符串指针
发信站: 水木社区 (Mon May 13 12:13:18 2024), 站内
const char* srcBuffer = "Hello, world!";
输出*srcBuffer时,输出为"H"
当输出srcBuffer时,却输出了"Hello, world!",不应该是输出首字符的地址吗?
--
FROM 93.179.102.*
啥叫输出srcBuffer?你这句话就是歧义的。
【 在 harrycheng 的大作中提到: 】
: 发信人: wanllow (wower), 信区: NewExpress
: 标 题: 万特,求教C++字符串指针
: 发信站: 水木社区 (Mon May 13 12:13:18 2024), 站内
: ...................
--
FROM 118.113.220.*
用vs及在线编译器,跑了一下,结果如上文。
问了一下Kimi,*srcBuffer输出为H,srcBuffer输出是地址
【 在 harrycheng 的大作中提到: 】
: constchar*srcBuffer="Hello,world!";
: 输出*srcBuffer时,输出为"H"
: 当输出srcBuffer时,却输出了"Hello,world!",不应该是...
- 来自 水木说
--
FROM 111.200.54.*
想要输出地址,先强制类型转换为int
【 在 harrycheng 的大作中提到: 】
: 发信人: wanllow (wower), 信区: NewExpress
: 标 题: 万特,求教C++字符串指针
: 发信站: 水木社区 (Mon May 13 12:13:18 2024), 站内
: ...................
--
FROM 124.193.189.*
你怎么输出的?
用printf("%p\n", srcBuffer); 输出的就是地址
把%p换成%s, 那输出的就是字符串了
【 在 harrycheng 的大作中提到: 】
【 以下文字转载自 NewExpress 讨论区 】
发信人: wanllow (wower), 信区: NewExpress
标 题: 万特,求教C++字符串指针
发信站: 水木社区 (Mon May 13 12:13:18 2024), 站内
const char* srcBuffer = "Hello, world!";
输出*srcBuffer时,输出为"H"
当输出srcBuffer时,却输出了"Hello, world!",不应该是输出首字符的地址吗?
--
FROM 114.246.111.*
哈哈,本中经过折腾,终于明白了
const char* srcBuffer = "Hello, world!";
std::cout << "0x" << std::hex << reinterpret_cast<std::uintptr_t> (srcBuffer) << std::endl;
强制类型转换一下就行了
【 在 harrycheng 的大作中提到: 】
: 发信人: wanllow (wower), 信区: NewExpress
: 标 题: 万特,求教C++字符串指针
: 发信站: 水木社区 (Mon May 13 12:13:18 2024), 站内
: ...................
--
FROM 93.179.101.*
牛逼 敢用reinterpret_cast
【 在 wanllow (wower) 的大作中提到: 】
: 哈哈,本中经过折腾,终于明白了
: const char* srcBuffer = "Hello, world!";
: std::cout << "0x" << std::hex << reinterpret_cast<std::uintptr_t> (srcBuffer) << std::endl;
: 强制类型转换一下就行了
--
FROM 114.254.0.*