C/C++字符串與數(shù)字互轉(zhuǎn)的實(shí)現(xiàn)
C數(shù)字轉(zhuǎn)字符串
int sprintf(char *str, const char *format, ...); char c[10]; sprintf(c, "%d", 15); // 將整數(shù)轉(zhuǎn)換成字符串 //浮點(diǎn)數(shù)轉(zhuǎn)字符串,number為要轉(zhuǎn)換的數(shù),ndigit表示要轉(zhuǎn)換的位數(shù) char *gcvt(double number, int ndigit, char *buf); //浮點(diǎn)數(shù)轉(zhuǎn)字符串,number為要轉(zhuǎn)換的數(shù),ndigit表示要轉(zhuǎn)換的位數(shù), decpt和sign為輸出參數(shù),decpt為小數(shù)點(diǎn)位 //數(shù),sign為符號(hào)。返回轉(zhuǎn)換后的字符串,不含符號(hào)和小數(shù)點(diǎn)。 char *ecvt(double number, int ndigits, int *decpt, int *sign); //fcvt與ecvt不同在于fcvt的ndigit參數(shù)表示小數(shù)點(diǎn)后的長(zhǎng)度 char *fcvt(double number, int ndigits, int *decpt, int *sign);
C字符串轉(zhuǎn)數(shù)字
int sscanf(const char *str, const char *format, ...); char str[] = "15.455"; int i; float fp; sscanf( str, "%d", &i ); // 將字符串轉(zhuǎn)換成整數(shù) i = 15 sscanf( str, "%f", &fp ); // 將字符串轉(zhuǎn)換成浮點(diǎn)數(shù) fp = 15.455000 int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); double strtod(const char *nptr, char **endptr); float strtof(const char *nptr, char **endptr); long double strtold(const char *nptr, char **endptr); long int strtol(const char *nptr, char **endptr, int base); long long int strtoll(const char *nptr, char **endptr, int base); unsigned long int strtoul(const char *nptr, char **endptr, int base); unsigned long long int strtoull(const char *nptr, char **endptr, int base);
C++字符串轉(zhuǎn)數(shù)字
C++11增加std::stoi/stol/stoll等等函數(shù)可以 轉(zhuǎn)換
C++數(shù)字轉(zhuǎn)字符串
C++11增加了全局函數(shù)std::to_string,以及std::stoi/stol/stoll等等函數(shù)
string to_string (int val); string to_string (long val); string to_string (long long val); string to_string (unsigned val); string to_string (unsigned long val); string to_string (unsigned long long val); string to_string (float val); string to_string (double val); string to_string (long double val)
string和char *互轉(zhuǎn)
string轉(zhuǎn)char *或char []
//1. 調(diào)string的data函數(shù) string s = "abc"; //data函數(shù)不會(huì)加結(jié)束符'\0' c_str會(huì)加 char *p = s.data(); //2. 調(diào)string的c_str函數(shù) string s = "abc"; char *p = s.c_str(); //3. 調(diào)string的copy函數(shù) string s = "abc"; char p[10]; s.copy(p, 3, 0); //復(fù)制3個(gè)字符,從0位置開(kāi)始 p[3] = '\0'; //需要手動(dòng)加結(jié)束符
char *或char []轉(zhuǎn)string
string s; char *p = "123"; s = p; //直接復(fù)制即可
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++ 類(lèi)的構(gòu)造函數(shù)詳解及實(shí)例
這篇文章主要介紹了C++ 類(lèi)的構(gòu)造函數(shù)詳解及實(shí)例的相關(guān)資料,學(xué)習(xí)C++ 的朋友對(duì)構(gòu)造函數(shù)肯定不陌生,非常重要的基礎(chǔ)知識(shí),這里就詳細(xì)介紹下,需要的朋友可以參考下2016-12-12C語(yǔ)言實(shí)現(xiàn)二叉鏈表存儲(chǔ)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)二叉鏈表存儲(chǔ)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08C++中cin.getline()和getline()函數(shù)的區(qū)別小結(jié)
這篇文章主要介紹了C++中cin.getline()和getline()函數(shù)區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C語(yǔ)言 超詳細(xì)介紹與實(shí)現(xiàn)線(xiàn)性表中的帶頭雙向循環(huán)鏈表
帶頭雙向循環(huán)鏈表:結(jié)構(gòu)最復(fù)雜,一般用在單獨(dú)存儲(chǔ)數(shù)據(jù)。實(shí)際中使用的鏈表數(shù)據(jù)結(jié)構(gòu),都是帶頭雙向循環(huán)鏈表。另外這個(gè)結(jié)構(gòu)雖然結(jié)構(gòu)復(fù)雜,但是使用代碼實(shí)現(xiàn)以后會(huì)發(fā)現(xiàn)結(jié)構(gòu)會(huì)帶來(lái)很多優(yōu)勢(shì),實(shí)現(xiàn)反而簡(jiǎn)單2022-03-03Qt無(wú)邊框窗口拖拽和陰影的實(shí)現(xiàn)
自定義窗口控件的無(wú)邊框,窗口事件由于沒(méi)有系統(tǒng)自帶邊框,無(wú)法實(shí)現(xiàn)拖拽拉伸等事件的處理,本文主要介紹了Qt無(wú)邊框窗口拖拽和陰影的實(shí)現(xiàn),感興趣的可以了解一下2024-01-01C語(yǔ)言實(shí)現(xiàn)統(tǒng)計(jì)一行字符串的單詞個(gè)數(shù)
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)統(tǒng)計(jì)一行字符串的單詞個(gè)數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07