CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

小声的问个std::string的问题,怎么用起来特麻烦呢?

楼主liusamye(liusamye)2004-10-03 09:44:50 在 C/C++ / 工具平台和程序库 提问

 
   
  以前一直做BCB和DELPHI,比较习惯于AnsiStirng这样的懒汉字符串类。刚刚开始接触STD,所以特意在最近的项目中尽量用STD,但是std::string用的我很不顺手,特意小声问问,请大虾们指教。  
   
  问:  
          std::string提供了compare(),find(),assign(),及迭代器函数,还有dec,hex等数制变化等,但是有没有提供各种数据类型与它之间的变换函数呢?就象BCB里的IntToStr(),TryStrToInt(),TryStrToFloat(),TDate.DateString()?  
   
          我觉得std::string最让我头疼的就是类型转换:字符串与整数之间、字符串与浮点数之间、字符串与日期时间之间、字符与ASCII码之间,好像都要自己写。是这样吗?  
   
          相比来BCB的AnsiString类比较好用,常用的转换函数几乎都有现成的,std::string如果没有提供这些功能,那么应该在什么情况下用比较合适呢?  
   
          望大虾赐教。 问题点数:40、回复次数:6Top

1 楼xteaj(半桶水)回复于 2004-10-03 09:56:19 得分 3

如果程序要移植到其他环境中重新编译,最好用STL,否则用AnsiString确实方便很多。  
  现在,在Linux中也有了Kylix3,不怕AnsiString的移植问题,所以用AnsiString也没问题。  
  Top

2 楼somedummy(某人马甲)回复于 2004-10-03 10:04:14 得分 2

std::string似乎没有提供operator   char*,但是它提供了std::string::c_str()这个函数,通过这个函数就可以调用atoi之类的函数了  
  //示例  
  std::string   mystr("123");  
  int   ival=atoi(mystr.c_str());Top

3 楼newegg2002(同志们,同胞们,大学的四年,是扎实基础的四年!!)回复于 2004-10-03 10:48:25 得分 0

是啊..,  
  尤其就是std::string和char   *之间不能相互转换..  
  会引出好多问题..  
  Top

4 楼liusamye(liusamye)回复于 2004-10-03 11:09:48 得分 0

看来是不太好用呀,谢谢各位了。Top

5 楼heroboy2000(动感超人)回复于 2004-10-03 14:26:50 得分 35

使用stringstream  
  stringstream   ss;  
  int   i=1;  
  ss<<i;  
  string   s=ss.str();  
  int   j;  
  ss>>j;Top

6 楼liusamye(liusamye)回复于 2004-10-04 09:24:09 得分 0

heroboy2000(动感超人)的代码解决了我的大部分问题,我想分数都应该给他了,同时谢谢其他大虾给我的回答。Top

相关问题

  • std::string to System::string
  • std::vector<std::string>的问题
  • 小声的问
  • [小声的问] ……
  • 麻烦,好大的麻烦!!
  • lpd好麻烦!!!
  • 麻烦大了!!!!!!!
  • 麻烦大了!!!
  • win98se麻烦大!
  • MFC真麻烦……~

关键词

  • 函数
  • 字符串
  • std
  • 大虾
  • ansistring
  • 问题
  • 提供

得分解答快速导航

  • 帖主:liusamye
  • xteaj
  • somedummy
  • heroboy2000

相关链接

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

广告也精彩

反馈

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