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);
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成员函数,编译器将指出错误