【學(xué)習(xí)筆記】C++下字符串與數(shù)字的拼接-創(chuàng)新互聯(lián)

目錄
  • 環(huán)境
  • sprintf
  • to_string()
  • itoa

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的綏中網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!環(huán)境

OS:win 10
IDE:Visual Studio 2017

sprintf
  1. 描述:sprintf是一種 C 風(fēng)格的字符串與數(shù)字拼接的方式,因?yàn)樵?C 中沒有 string 這種數(shù)據(jù)類型,所以它是將 char 類型的數(shù)據(jù)和數(shù)字類型(int, long, float 等)拼接
  2. 函數(shù)原型:int sprintf(char *buffer,const char *format [,argument] ...);
  3. 函數(shù)定義:sprintf代表 “string printf”。它將輸出數(shù)據(jù)存儲(chǔ)在buffer
  4. 返回值:如果成功則返回寫入緩沖區(qū)的字符數(shù)量,如果出現(xiàn)錯(cuò)誤返回 -1
  5. 示例
#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 表示僅輸出小數(shù)點(diǎn)后 1 位

	std::cout<< destBuf<< std::endl;        // 1noname25.5
	std::cout<< "res: "<< res<< std::endl; // 11
}

【注】char類型的指針和數(shù)組都可以

to_string()
  1. 描述:在 C++11 后,string 類型的字符串之間可以直接通過 “+” 拼接,于是我么可以通過to_string()將數(shù)字轉(zhuǎn)換成 string 類型,再進(jìn)行拼接
  2. 函數(shù)原型:string to_string ( xxx val);其中 xxx 可以是諸如intlong,long longfloat,double等這一類型
  3. 函數(shù)定義:將數(shù)字轉(zhuǎn)換成 string 類型
  4. 返回值:返回轉(zhuǎn)換后的字符串
  5. 示例
#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()不支持格式化浮點(diǎn)類型的數(shù)據(jù),但你可以通過其它方式截?cái)嘈?shù)點(diǎn)后的內(nèi)容

itoa
  1. 描述:itoa 即 convert int to a string,將整型轉(zhuǎn)換成 string 類型
  2. 函數(shù)原型:char * itoa ( int value, char * str, int base );在這里 value 表示要轉(zhuǎn)換的 int 的值,str 表示最終轉(zhuǎn)換成的字符串,base 表示進(jìn)制,一般而言當(dāng)傳入 base 為 10 時(shí),表示基于 10 進(jìn)制轉(zhuǎn)換
  3. 函數(shù)定義:注意 itoa 并不是 C++ 的一部分,只是一些編譯器支持它,在該場(chǎng)景下,最好使用 sprintf 來替代它
  4. 返回值:指向 str 的指針,和參數(shù) str 一樣
  5. 示例
void Exampleitoa()
{int i = -1;
	char buffer[30];
	_itoa(i, buffer, 10);
	std::cout<< buffer<< std::endl; // -1
									  // 此處已經(jīng)是字符串形式的 -1 了
}

【注】當(dāng) base 為 10 的時(shí)候,且當(dāng) value 為負(fù)數(shù),那么轉(zhuǎn)換后的字符串結(jié)果會(huì)自動(dòng)加上一個(gè)負(fù)號(hào)(-),而其他進(jìn)制的時(shí)候,value 會(huì)被視為無符號(hào)
【注】str 這個(gè)參數(shù)必須要足夠容納轉(zhuǎn)換后的字符串大小

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁標(biāo)題:【學(xué)習(xí)筆記】C++下字符串與數(shù)字的拼接-創(chuàng)新互聯(lián)
瀏覽地址:http://muchs.cn/article30/csphso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、App開發(fā)網(wǎng)頁設(shè)計(jì)公司、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)