将integer转换为函数参数的字符串

Eln*_*efi -2 c++ string integer converter

我有一个接受字符串参数的函数,我有一个整数变量然后我应该将它转换为字符串,然后将其传递给该函数我使用此代码,但因为ostringstream用于I/O它不起作用.

ostringstream ostr;
while (.....)
{
regnum++;
ostr<<regnum;
grph.addlastname(ostr.str());
}
Run Code Online (Sandbox Code Playgroud)

例如它将12345传递给函数而不是5,我该怎么办?

us2*_*012 5

这是真的 - 有很多类似的问题可以解决"最好的方法是什么?" 但我认为在回答"为什么这不起作用?"这个问题时,OP需要学习一些东西.

因此:

stringstream有一个内部状态,在循环中你总是追加一个新数字 - 但之前的数字仍在流中!你可以通过使stringstreamscope-local到循环来解决这个问题,即在循环中而不是在循环之外声明它.

(std::to_string但仍然是解决这个特殊问题的更好方法.)