void?main()??
成都創(chuàng)新互聯(lián)專注于延川網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供延川營(yíng)銷型網(wǎng)站建設(shè),延川網(wǎng)站制作、延川網(wǎng)頁(yè)設(shè)計(jì)、延川網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造延川網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供延川網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
{??
char?a[3];
wchar_t?str;
printf("輸入一個(gè)漢字:\n");
gets(a);
MultiByteToWideChar(CP_ACP,?0,?a,?-1,?str,?1);
printf("%s",?a);
printf("字Unicode編碼為%x\n",(unsigned?short)str);??
}
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ǔ)言有atoi、atol、atof等庫(kù)函數(shù),可分別把ASCII編碼的字符串轉(zhuǎn)化為int、long、float類型的數(shù)字。\x0d\x0a頭文件:stdlib.h\x0d\x0a函數(shù)原型:int atoi(const char* nptr);\x0d\x0a(另外兩個(gè)類似)\x0d\x0a\x0d\x0a舉個(gè)例子:\x0d\x0achar *str="123";\x0d\x0aint num=atoi(str);\x0d\x0a執(zhí)行后,num的值被初始化為123
字轉(zhuǎn)換:wctomb、mbtowc,wc 指 Wide charactor,mb 指 Multi-byte。\r\n字符串轉(zhuǎn)換:wcstombs、mbstowcs,wcs 和 mbs 的 s 指 string。\r\n\r\n這 4 個(gè)函數(shù)是 C 標(biāo)準(zhǔn)函數(shù)庫(kù)函數(shù)中的。如果只是在 Windows 平臺(tái)下編程,可直接調(diào)用 Windows API 函數(shù) WideCharToMultiByte 和 MultiByteToWideChar 實(shí)現(xiàn)。但是如果調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)的話,在 Linux 下也是有效的。調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),首先必須包含 locale.h 并調(diào)用 setlocale(LC_ALL, "") 后才能正確轉(zhuǎn)換。Windows 下的 Multi-byte 是 ANSI 編碼的,Wide charactor 是 Unicode (UTF-16) 編碼,而 Linux 下的 Multi-byte 是 UTF-8 編碼的,Wide charactor 是 Unicode (UTF-32) 編碼。\r\n\r\n#include \r\n#include \r\n#include \r\n\r\nint main(void)\r\n{\r\n char str[12];\r\n wchar_t wstr[] = { 0x52B3, 0x788C, 0 };\r\n setlocale(LC_ALL, "");\r\n wcstombs(str, wstr, sizeof(str)/sizeof(char));\r\n printf("%s", str);\r\n return 0;\r\n}