扫码关注官方订阅号
cout是有值的,但是delete得时候就会报错。
char *ch = new char(100); char tmp[10] = "e100"; strtod(tmp, &ch); cout << *ch << endl; delete ch; system("pause");
认证高级PHP讲师
稍微看了一下strtod的代码:
00088 double 00089 strtod (const char * nptr, char ** endptr)
00105 if (endptr) 00106 *endptr = (char *)nptr;
00132 if (endptr) 00133 *endptr = (char *)nptr + 2;
然后对比一下下面两段代码:
char *ch = new char[10]; ch = "3.14"; cout << ch << endl; delete [] ch;
char *ch = new char[10]; strncpy(ch,"3.14",10); cout << ch << endl; delete [] ch;
别忘了cstring!
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
稍微看了一下strtod的代码:
然后对比一下下面两段代码:
分割线别忘了cstring!