
OS:win 10
IDE:Visual Studio 2017
sprintf是一種 C 風格的字符串與數字拼接的方式,因為在 C 中沒有 string 這種數據類型,所以它是將 char 類型的數據和數字類型(int, long, float 等)拼接int sprintf(char *buffer,const char *format [,argument] ...);sprintf代表 “string printf”。它將輸出數據存儲在buffer中#includevoid ExampleSprintf()
{int a = 1, b = 2;
float c = 5.5;
char srcBuf[7] = "noname";
char destBuf[15] = {0 }; // 初始化為 0 字符
int res = sprintf(destBuf, "%d%s%d%.1f", a, srcBuf, b, c); // .1f 表示僅輸出小數點后 1 位
std::cout<< destBuf<< std::endl; // 1noname25.5
std::cout<< "res: "<< res<< std::endl; // 11
} 【注】char類型的指針和數組都可以
to_string()將數字轉換成 string 類型,再進行拼接string to_string ( xxx val);其中 xxx 可以是諸如int,long,long long,float,double等這一類型#include#includevoid ExampleTo_String()
{int a = 1, b = 2;
float c = 5.5;
std::string srcString = "noname";
std::string destString;
destString = std::to_string(a) + srcString + std::to_string(b) + std::to_string(c);
std::cout<< destString<< std::endl; // 1noname25.500000
} 【注】要使用 string 和to_string()需要引入頭文件
【注】to_string()不支持格式化浮點類型的數據,但你可以通過其它方式截斷小數點后的內容
char * itoa ( int value, char * str, int base );在這里 value 表示要轉換的 int 的值,str 表示最終轉換成的字符串,base 表示進制,一般而言當傳入 base 為 10 時,表示基于 10 進制轉換void Exampleitoa()
{int i = -1;
char buffer[30];
_itoa(i, buffer, 10);
std::cout<< buffer<< std::endl; // -1
// 此處已經是字符串形式的 -1 了
}【注】當 base 為 10 的時候,且當 value 為負數,那么轉換后的字符串結果會自動加上一個負號(-),而其他進制的時候,value 會被視為無符號
【注】str 這個參數必須要足夠容納轉換后的字符串大小
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
網頁標題:【學習筆記】C++下字符串與數字的拼接-創新互聯
瀏覽地址:http://www.yijiale78.com/article30/csphso.html
成都網站建設公司_創新互聯,為您提供企業網站制作、響應式網站、品牌網站設計、App開發、網頁設計公司、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯