C++ 将一位整数作为字符插入std::字符串?
我有一个C++ 将一位整数作为字符插入std::字符串?,c++,string,insert,integer,stdstring,C++,String,Insert,Integer,Stdstring,我有一个std::string out,它是空的,我必须在开头多次插入元素,但是我似乎一次也做不到 元素是一位整数,因此我尝试了以下方法: int i = 1; //example out.insert(out.begin(),1,static_cast<char>(i)); std::cout << out; 和类似的东西,但他们只是没有编译 如何将这些整数添加到字符串的开头?std::to_string()。static\u cast()没有做您认为应该做的事情。o
std::string out
,它是空的,我必须在开头多次插入元素,但是我似乎一次也做不到
元素是一位整数,因此我尝试了以下方法:
int i = 1; //example
out.insert(out.begin(),1,static_cast<char>(i));
std::cout << out;
和类似的东西,但他们只是没有编译
如何将这些整数添加到字符串的开头?
std::to_string()
。static\u cast()
没有做您认为应该做的事情。out='1'+out;out=std::to_字符串(i)+out;建议:通过打印出来仔细查看static\u cast(i)
的结果。要将单个数字转换为字符,请使用i+'0'
其中i
是要转换的数字,'0'
是零字符的字符代码。C++需要在字符编码中对数字进行顺序排序,因此如果将一个数字加到“0”,则得到适当的字符。<代码> out。插入(out .No.*),1,“0”+i;<代码>或out.insert(out.begin(),std::to_string(i))代码>或out=字符串(1,'0'+i)+out代码>或out=std::to_字符串(i)+out
如果未编译std::to_string()
,请确保您是为C++11或更高版本编译的。
out.insert(out.begin(),std::to_string(i));