C 中的整數類型變數能夠儲存預先定義範圍內的正整數值或負整數值。字串變數可以儲存字母、數字和特殊字元的序列。有許多用例需要從 int 轉換為 string。我們討論 3 種將整數變數轉換為字串的不同方法。
如果我們討論演算法,那就非常簡單了。我們在整數變數中取得輸入,然後將其轉換為字串變數。
C 中將整數值轉換為字串的最簡單方法是使用 to_string 函數。 to_string 函數預設可用;它接受一個整數值作為輸入並提供一個字串值作為輸出。我們來看看下面的例子來進一步理解這個概念。
int ip = <integer value>; string op = std::to_string(ip);
#include <iostream> using namespace std; string solve(int ip) { //using the to_string function return to_string(ip); } int main() { int ip = 10; string op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " + op << endl; return 0; }
The input value is: 10 The output value is: 10
在此範例中,我們使用 to_string 函數將整數值轉換為字串。顯示輸出時需要注意的一點;我們使用插入運算子 (
ostringstream 是包含字元序列的字串緩衝區。在該方法中,我們將整數值輸入到 ostringstream 物件中,然後將其格式化為字串。
int ip = <integer value>; ostringstream oss; oss << ip; string op = oss.str();
#include <iostream> #include <sstream> using namespace std; string solve(int ip) { //using ostringstream ostringstream oss; oss << ip; return oss.str(); } int main() { int ip = 10; string op = solve(ip); cout<< "The input value after addition of 10 is: " << ip + 10 << endl; cout<< "The output value after addition of 10 is: " << op + "10" << endl; return 0; }
The input value after addition of 10 is: 20 The output value after addition of 10 is: 1010
在前面的範例中,我們在輸入值中新增了一個整數值 10 以表示它是一個整數值,並在輸出值中新增了一個字串「10」以表示它是一個字串值。
sprintf 是 C 中的標準函式庫函數,它將格式化輸出傳送到字串 str。使用 sprintf 函數,我們可以將整數轉換為字串。
int ip = <integer value>; char str[100]; sprintf(str, "%d", ip); string s = str;
#include <iostream> using namespace std; string solve(int ip) { char str[100]; sprintf(str, "%d", ip); string s = str; return s; } int main() { int ip = 10; string op = solve(ip); cout<< "The input value after addition of 10 is: " << ip + 10 << endl; cout<< "The output value after addition of 10 is: " << op + "10" << endl; return 0; }
The input value after addition of 10 is: 20 The output value after addition of 10 is: 1010
這個例子和前面的例子類似,唯一不同的是轉換方法。要使用 sprintf,我們不需要匯入任何其他函式庫。
我們可能需要在各種場合將整數轉換為字串,主要是使用僅支援字串參數的函數從計算中輸出資料。我們討論的第一種方法是最簡單的,但它可以從 C 11 版本開始使用。使用 ostringstream 的第二種方法需要導入另一個庫 sstream,而使用 sprintf 的最後一種方法需要輔助字元或字串緩衝區來將整數值轉換為字串。最快的方法是第一種,但如果由於編譯器過時而不起作用,那麼其他兩種方法應該可以。
以上是C++程式將int型別變數轉換為字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!