使用stringstream代替sprintf和sscanf
C++里面的字符串格式话 之前一直是用的sprintf和sscanf 比较麻烦的是要申请一个字符数组然后在调用
用stringstream就比较完美
int main(int narg,char** args) { stringstream stream; //代替sprintf stream<<"hello world "<<1024<<" haha"<<"/"; string ret=stream.str(); printf("%s\n",ret.c_str()); //代替sscanf int num=0; string tmp; stream>>tmp>>tmp>>num>>tmp; printf("num=%d\n",num); system("pause"); return 0; }
需要特别注意的是 第二次使用的时候要记得清空上一次的结果
不要调用stringstream::clear()函数 这个不能保证都清空不知道是不是VS2005的BUG 用stringstream::str("")进行清空