Как конвертировать int в строку в C ++ - PullRequest
3 голосов
/ 24 сентября 2011

Я хочу преобразовать int в строку, чтобы можно было ее перехватить.Этот код не работает должным образом:

for (int i = 1; i<1000000, i++;)
{ 
    cout << "testing: " +  i; 
}

Ответы [ 3 ]

10 голосов
/ 24 сентября 2011

Вы должны сделать это следующим образом -

for (int i = 1; i<1000000, i++;)
{ 
    cout << "testing: "<<i<<endl; 
}

Оператор << позаботится о правильной печати значений.

Если вы все еще хотите знать, как конвертироватьцелое число в строку, тогда следующий способ это сделать, используя stringstream -

#include <iostream>
#include <sstream>

using namespace std;

int main()
{
    int number = 123;
    stringstream ss;

    ss << number;
    cout << ss.str() << endl;

    return 0;
}
5 голосов
/ 24 сентября 2011

Используйте std::stringstream как:

for (int i = 1; i<1000000, i++;)
{
  std::stringstream ss("testing: ");
  ss << i;

  std::string s = ss.str();
  //do whatever you want to do with s
  std::cout << s << std::endl; //prints it to output stream
}

Но если вы просто хотите напечатать его в выходной поток, вам это даже не нужно.Вы можете просто сделать это:

for (int i = 1; i<1000000, i++;)
{
   std::cout << "testing : " << i;
}      
2 голосов
/ 24 сентября 2011

Сделайте это вместо:

for (int i = 1; i<1000000, i++;)
{
    std::cout << "testing: " <<  i << std::endl;
}

Реализация оператора << сделает необходимое преобразование перед его распечаткой. Используйте «endl», чтобы каждое выражение печатало отдельную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...