C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
轉自:http://www.cnblogs.com/nzbbody/p/3504199.html
string前後加上雙引号,告訴編譯器把它當成一串字元來解釋。
注意:對于字元,需要區分字元和字元表示的數值。比如:char a = 8;char b = '8',a表示第8個字元,b表示字元8,是第56個字元。
int轉化為string
1、使用itoa(int to string)
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
3、使用stringstream
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
可以這樣了解,stringstream可以吞下不同的類型,根據s2的類型,然後吐出不同的類型。
4、使用boost庫中的lexical_cast
3和4隻能轉化為10進制的字元串,不能轉化為其它進制的字元串。
string轉化為int
1、使用strtol(string to long)
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
2、使用sscanf
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。
C++ int與string的轉化int本身也要用一串字元表示,前後沒有雙引号,告訴編譯器把它當作一個數解釋。預設情況下,是當成10進制(dec)來解釋,如果想用8進制,16進制,怎麼辦?加上字首,告訴編譯器按照不同進制去解釋。8進制(oct)---字首加0,16進制(hex)---字首加0x或者0X。