CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

如何将string 转成 char * ? 在线等待

楼主tang_ghost(tangyan)2004-09-02 16:57:39 在 C/C++ / C语言 提问

#include   <string>  
  using   namespace   std;  
  string   strTemp;  
  strTemp="hello   world";  
  char   *   szTemp   =   new   char   [256];  
  szTemp=(如何转换?)strTemp; 问题点数:100、回复次数:5Top

1 楼keiy()回复于 2004-09-02 17:00:55 得分 20

1.直接用  
  char   *   szTemp   =strTemp.c_str();  
  2.拷贝  
  char   *   szTemp   =   new   char   [256];  
  strcpy(szTemp,strTemp.c_str());Top

2 楼plainsong(短歌)()回复于 2004-09-02 17:00:57 得分 20

char   *   szTemp   =   new   char[strTemp.size()   +   1];  
  memcpy(szTemp,   strTemp.c_str(),   strTemp.size()   +   1);Top

3 楼huangyang88(中国-必胜)回复于 2004-09-02 17:08:02 得分 20

只能用拷贝的方式,不能用keyi讲的第一种方式,第二种可以Top

4 楼xteaj(半桶水)回复于 2004-09-02 17:13:01 得分 20

strcpy(szTemp,strTemp.c_str());  
  其实strTemp.begin()就是一个字符串指针,  
  在strTemp的生命周期内可直接使用。Top

5 楼plainsong(短歌)()回复于 2004-09-02 17:13:27 得分 20

keyi的第一种方法也是可以用的,只是必须保证szTemp只在strTemp有没有释放也没有改变的情况下使用。  
  此外,我之所以使用memcpy而不使用strcpy是因为在长度已知的情况下memcpy可以比strcpy快,而string::size()是很快的(常数级,不象strlen那样是线性级)。Top

相关问题

  • 怎样把String*转成char*
  • 如何将string转成char*
  • char 转成 string的问题..
  • CString 怎么转成 Char* 毕设等用,急,在线等待!!
  • 请问DELPHI中把STRING转成CHAR[]应该怎么弄?
  • 请问如何将一个string变量转成char型?
  • 急问C++里怎么将INT型转成STRING或者是CHAR型
  • 如何将CString转成char*
  • 如何将CString转成char*
  • char 转成 WCHAR 的问题?

关键词

  • sztemp
  • strtemp
  • strcpy
  • memcpy
  • 使用
  • char
  • str
  • size

得分解答快速导航

  • 帖主:tang_ghost
  • keiy
  • plainsong
  • huangyang88
  • xteaj
  • plainsong

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo