C\C++ 字符串的格式化与类型转化

 字符串格式化

1、sscanf
int sscanf(const char *buffer,const char *format,[argument ]...)
取到指定字符为止的字符串。如在下例中,取遇到任意小写字母为止的字符串。
sscanf("123456abcdedf","%[^a-z]",buf);
printf("%s\n",buf);
 
2、sprintf()
int sprintf( char *buffer, const char *format, [ argument] … );
 例:将字符串转化为5位数的整数
      sprintf(buff,"%05d",integer);
 注意:%05d里的0不能缺少
 
3、atoi()
    字符串转化为int类型
   char *str = "12345.67"; 
      int  n = atoi(str);  
 
 
 
字符串转化
string 转化为 char*
char *a = string.c_str();
 
在c++中

bool CDasModbus::QueryData(char *pDeviceId,char *strGroup,CRtData &MsgData) const 
{

  std::map<string, POLL_CMD_CFG>::iterator it = mp_IniConf.find(string("ss"));

这样会出错的,具体原因:

任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误
 
 
posted @ 2016-04-29 23:21  cogitoergosum  阅读(1439)  评论(0编辑  收藏  举报