这str2是我需要追加str1的字符串,是我追加的字符串str2.在我追加到最后,str2我需要附加一个数字(int cnt)str2.所以我使用下面的代码,它出现在我的脑海中并且正在运行.这样的代码是不对的,因为我看到了 编译器对库的抱怨的使用string s = lexical_cast<string>(a);和 itoa (i,buffer,10);实现.
string str2;
string str1;
int cnt;
str2 += str1 ;
str2 += char(cnt+48);//cnt converted to ASCII char and appended;
Run Code Online (Sandbox Code Playgroud)
这个说法
str2 += char(cnt+48);
Run Code Online (Sandbox Code Playgroud)
不好.首先它使用幻数48.最好至少写为
str2 += char( cnt + '0' );
Run Code Online (Sandbox Code Playgroud)
其次,只有当cnt包含一位数字时,代码才有效.
最好使用标准功能std::to_string例如
str2 += std::to_string( cnt );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |