我怎麼能代替這個itoa更換爲std :: to_string如何
itoa(i, buf, 10);
key1.append(buf);
key2.append(buf);
key3.append(buf);
與std::to_string
itoa是給我這不是在範圍上,它不是標準
部分申報錯誤我聽說我可以使用std::to_string
來製作它的另一個版本我該如何做?
我怎麼能代替這個itoa更換爲std :: to_string如何
itoa(i, buf, 10);
key1.append(buf);
key2.append(buf);
key3.append(buf);
與std::to_string
itoa是給我這不是在範圍上,它不是標準
部分申報錯誤我聽說我可以使用std::to_string
來製作它的另一個版本我該如何做?
如果使用C++ 11,可以使用std::to_string
#include <string>
std::string buf = std::to_string(i);
key1.append(buf);
key2.append(buf);
key3.append(buf);
,或者你可以只使用std:stringstream
#include <sstream>
std::stringstream ss;
ss << i;
key1.append(ss.str());
key2.append(ss.str());
key3.append(ss.str());
要使用itoa()函數,需要包含stdlib.h文件,然後在使用itoa()時不會看到錯誤。
正如問題所述,'itoa'不是標準的一部分,可能不可用;在這種情況下,你會得到錯誤。 –
這裏的[參考](http://en.cppreference.com/W/CPP /串/ basic_string的/ to_string)。它甚至包括一個例子。 – chris
問題到底是什麼?不'std :: to_string(i)'解決它?問題是這會創建一個'std :: string',但你需要一個'char *'? – jogojapan
@jogojapan - 只有C++ 11纔有可能? – user93353