如何将int转化为string

string s;
int n;
cin>>n;
while(n){
	s[i]=n%10+'0';
    n/=10;
}
reverse(s.begin(),s.end());

上述方法是错误的,因为当字符串长度没有说明时,字符是赋值不到字符串里的。只有当字符串有值了才可以改变它的值

string s=std::to_string(i);//调用了系统函数std::to_string(int)(只适用于c++15)