C++连接字符串有关问题

C++连接字符串问题!
c++ code
int i = 0;
string t1 = "txt";
string t2 = "";
t2 = t1+i;
这样为何不行。如何把 i和t1连接成一个新的字符串?

------解决方案--------------------
C/C++ code

int i = 0;                //0表示的是空字符,你可以用i = 3试试看
string t1 = "txt";
string t2 = "";
t2 = t1+i;

------解决方案--------------------
可以先将int变为string,然后。。。。
如:
int main()
{
int n = 65535;
char t[256];
string s;

sprintf(t, "%d", n);
s = t;
cout << s << endl;


------解决方案--------------------
int i = 0;
string t1 = "txt";
string t2 = "";
char cval[3];
itoa(i,cval,10);
t2 = t1+cval;
------解决方案--------------------
use stringstream 
C/C++ code

stringstream ss;
int nNum = 0;
string strName = "my num is ";
ss << strName << nNum;
cout << ss.str() << endl;