最近需要讀取一些格式化路徑的檔案。路徑檔案名字最後是數字從0開始到100結束,但是佔了4位,即0000到0100這樣。
需要將int轉成string的同時加上字首0.
方法一:
用sprintf()函式。
char pointscloud[128];sprintf(pointscloud,
"/model%d/action%d/%04dpointscloud.txt
", model, action, fileindex);
方法二:
使用c++的stringstream 。
新增標頭檔案
#include
#include
stringstream ss;ss << "
/body3dcoordinates
"<< i << "_"
<< setw(4) << setfill('
0') << j << "
.txt";
cout
<< ss.str() << endl;
參考:
c int與string 型別轉換
1,int轉成string 用tostring 或者convert.tostring 如下 例如 int varint 1 string varstring convert.tostring varint string varstring2 varint.tostring 2,string轉成int...
C int與string的轉化
int本身也要用一串字元表示,前後沒有雙引號,告訴編譯器把它當作乙個數解釋。預設情況下,是當成10進製 dec 來解釋,如果想用8進製,16進製制,怎麼辦?加上字首,告訴編譯器按照不同進製去解釋。8進製 oct 字首加0,16進製制 hex 字首加0x或者0x。string前後加上雙引號,告訴編譯器...
C int與string的轉化
int本身也要用一串字元表示,前後沒有雙引號,告訴編譯器把它當作乙個數解釋。預設情況下,是當成10進製 dec 來解釋,如果想用8進製,16進製制,怎麼辦?加上字首,告訴編譯器按照不同進製去解釋。8進製 oct 字首加0,16進製制 hex 字首加0x或者0x。string前後加上雙引號,告訴編譯器...