c語(yǔ)言是沒(méi)法把字符串轉(zhuǎn)換成對(duì)應(yīng)函數(shù)的,c語(yǔ)言是結(jié)構(gòu)化語(yǔ)言,程序怎么執(zhí)行在編譯時(shí)已經(jīng)確定,沒(méi)法像c#之類的托管代碼高級(jí)語(yǔ)言能夠動(dòng)態(tài)綁定或者叫后期綁定。因?yàn)橥泄艽a有運(yùn)行時(shí)去選擇執(zhí)行,而c語(yǔ)言編譯后的可執(zhí)行文件為操作系統(tǒng)直接調(diào)用了,所以沒(méi)法動(dòng)態(tài)綁定。
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的棕樹(shù)數(shù)據(jù)中心,四川各地服務(wù)器托管,棕樹(shù)數(shù)據(jù)中心、多線服務(wù)器托管.托管咨詢專線:13518219792
字符串轉(zhuǎn)換函數(shù)如下:
字符串轉(zhuǎn)換為整數(shù) atoi
2.字符串轉(zhuǎn)換為長(zhǎng)整數(shù) atol
3.字符串轉(zhuǎn)換為浮點(diǎn)數(shù) strtod
4.字符串轉(zhuǎn)換為長(zhǎng)整數(shù) strtol
5.字符串轉(zhuǎn)換為無(wú)符號(hào)長(zhǎng)整型 strtoul
C語(yǔ)言是一門通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。
只需要將字符數(shù)組的前后數(shù)據(jù)進(jìn)行交換就行了。
#include?stdio.h
#include?string.h
char*?reverse(char?*x)
{
int?i,?tem,?len?=?strlen(x);
int?n?=?len?/?2;
for?(i?=?0;?i?=?n;?i++)??//?前后交換數(shù)據(jù)
{
tem?=?x[i];
x[i]?=?x[len?-?1?-?i];
x[len?-?1?-?i]?=?tem;
}
return?x;
}
int?main()
{
char?p[]?=?"abcdefghijk";
printf("relust?=?%s\n",?reverse(p));
return?0;
}
c語(yǔ)言中,可以使用atoi()函數(shù)將字符串轉(zhuǎn)化成整數(shù)型并輸出。
atoi (表示 ascii to integer)是把字符串轉(zhuǎn)換成整型數(shù)的一個(gè)函數(shù),應(yīng)用在計(jì)算機(jī)程序和辦公軟件中。int atoi(const char *nptr) 函數(shù)會(huì)掃描參數(shù) nptr字符串,會(huì)跳過(guò)前面的空白字符(例如空格,tab縮進(jìn))等。
如果 nptr不能轉(zhuǎn)換成 int 或者 nptr為空字符串,那么將返回 0 。特別注意,該函數(shù)要求被轉(zhuǎn)換的字符串是按十進(jìn)制數(shù)理解的。atoi輸入的字符串對(duì)應(yīng)數(shù)字存在大小限制(與int類型大小有關(guān)),若其過(guò)大可能報(bào)錯(cuò)-1。
擴(kuò)展資料:
C語(yǔ)言常用函數(shù):
1、int abs(int i)
返回整型參數(shù)i的絕對(duì)值。
2、double cabs(struct complex znum)
返回復(fù)數(shù)znum的絕對(duì)值。
3、double fabs(double x)
返回雙精度參數(shù)x的絕對(duì)值。
4、long labs(long n)
返回長(zhǎng)整型參數(shù)n的絕對(duì)值。
5、double exp(double x)
返回指數(shù)函數(shù)ex的值。
6、double frexp(double value,int *eptr)
返回value=x*2n中x的值,n存貯在eptr中。
7、double ldexp(double value,int exp)
返回value*2exp的值。
8、double log(double x)
返回logex的值。
9、double log10(double x)
返回log10x的值。
10、double pow(double x,double y)
返回x^y的值。
參考資料來(lái)源:百度百科-atoi
C語(yǔ)言中,可以使用atoi函數(shù)將字符串轉(zhuǎn)換為數(shù)字,如atoi("123")可以得到數(shù)字123。
atoi (表示 ascii to integer)是把字符串轉(zhuǎn)換成整型數(shù)的一個(gè)函數(shù),應(yīng)用在計(jì)算機(jī)程序和辦公軟件中。int atoi(const char *nptr) 函數(shù)會(huì)掃描參數(shù) nptr字符串,會(huì)跳過(guò)前面的空白字符(例如空格,tab縮進(jìn))等。
如果 nptr不能轉(zhuǎn)換成 int 或者 nptr為空字符串,那么將返回0。特別注意,該函數(shù)要求被轉(zhuǎn)換的字符串是按十進(jìn)制數(shù)理解的。atoi輸入的字符串對(duì)應(yīng)數(shù)字存在大小限制(與int類型大小有關(guān)),若其過(guò)大可能報(bào)錯(cuò)-1。
擴(kuò)展資料:
C語(yǔ)言中數(shù)字轉(zhuǎn)化為字符串的方案:
使用sprintf函數(shù)來(lái)實(shí)現(xiàn),如sprintf("%d", 123)可以得到字符串"123"。
sprintf指的是字符串格式化命令,主要功能是把格式化的數(shù)據(jù)寫入某個(gè)字符串中。sprintf 是個(gè)變參函數(shù)。使用sprintf 對(duì)于寫入buffer的字符數(shù)是沒(méi)有限制的,這就存在了buffer溢出的可能性。解決這個(gè)問(wèn)題,可以考慮使用 snprintf函數(shù),該函數(shù)可對(duì)寫入字符數(shù)做出限制。
參考資料來(lái)源:百度百科-atoi
C語(yǔ)言中將字符串轉(zhuǎn)型化為浮點(diǎn)型數(shù)據(jù)的函數(shù)有:atof() ?和 strtod()
頭文件:
#include?stdlib.h
函數(shù)原型:
double?atof?(const?char*?str);?
【參數(shù)說(shuō)明】str?為要轉(zhuǎn)換的字符串。
【函數(shù)說(shuō)明】atof()?函數(shù)會(huì)掃描參數(shù)str字符串,跳過(guò)前面的空白字符(例如空格,tab縮進(jìn)等,可以通過(guò)?isspace()?函數(shù)來(lái)檢測(cè)),直到遇上數(shù)字或正負(fù)符號(hào)才開(kāi)始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時(shí)('\0')才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。參數(shù)str?字符串可包含正負(fù)號(hào)、小數(shù)點(diǎn)或E(e)來(lái)表示指數(shù)部分,如123.?456?或123e-2。
【返回值】返回轉(zhuǎn)換后的浮點(diǎn)數(shù);如果字符串?str?不能被轉(zhuǎn)換為?double,那么返回?0.0。
double?strtod?(const?char*?str,?char**?endptr);
【參數(shù)說(shuō)明】str?為要轉(zhuǎn)換的字符串,endstr?為第一個(gè)不能轉(zhuǎn)換的字符的指針。
【函數(shù)說(shuō)明】strtod()?函數(shù)會(huì)掃描參數(shù)str字符串,跳過(guò)前面的空白字符(例如空格,tab縮進(jìn)等,可以通過(guò)?isspace()?函數(shù)來(lái)檢測(cè)),直到遇上數(shù)字或正負(fù)符號(hào)才開(kāi)始做轉(zhuǎn)換,到出現(xiàn)非數(shù)字或字符串結(jié)束時(shí)('\0')才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。參數(shù)?str?字符串可包含正負(fù)號(hào)、小數(shù)點(diǎn)或E(e)來(lái)表示指數(shù)部分。如123.?456?或123e-2。
若endptr?不為NULL,則會(huì)將遇到的不符合條件而終止的字符指針由?endptr?傳回;若?endptr?為?NULL,則表示該參數(shù)無(wú)效,或不使用該參數(shù)。
【返回值】返回轉(zhuǎn)換后的浮點(diǎn)型數(shù);若不能轉(zhuǎn)換或字符串為空,則返回?0.0。
使用?atof(?str?)?與使用?strtod(str,?NULL)?結(jié)果相同。
一般應(yīng)用方法為:
char?str[]="123.45";
double?d=atof(str);
printf("%.2lf",?d?);?//輸出123.45