中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網站建設總體方案設計下載優(yōu)化大師app

網站建設總體方案設計,下載優(yōu)化大師app,做網站收費 優(yōu)幫云,深圳網站建設排行C語言 整數(shù)與字符串的相互轉換 一、簡述 C語言中整數(shù)與字符串的相互轉換,有廣泛應用的拓展函數(shù)(非標準庫),也可以自己嘗試簡單的實現(xiàn)。 二、整數(shù)轉字符串 1、拓展函數(shù)itoa itoa (表示 integer to alphanumeric)是把整型數(shù)轉換成字符串的一個函數(shù)。 win…

C語言 整數(shù)與字符串的相互轉換

一、簡述

????C語言中整數(shù)與字符串的相互轉換,有廣泛應用的拓展函數(shù)(非標準庫),也可以自己嘗試簡單的實現(xiàn)。

二、整數(shù)轉字符串

????1、拓展函數(shù)itoa

????itoa (表示 integer to alphanumeric)是把整型數(shù)轉換成字符串的一個函數(shù)。

? ? ? windows環(huán)境下,在<stdlib.h>頭文件中有

char* itoa(int value,char*string,int radix);//value: 要轉換的整數(shù),string: 轉換后的字符串,radix: 轉換進制數(shù),如2,8,10,16 進制等。

函數(shù)源碼:

char* itoa(int num,char* str,int radix)
{char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//索引表unsigned unum;//存放要轉換的整數(shù)的絕對值,轉換的整數(shù)可能是負數(shù)int i=0,j,k;//i用來指示設置字符串相應位,轉換之后i其實就是字符串的長度;轉換后順序是逆序的,有正負的情況,k用來指示調整順序的開始位置;j用來指示調整順序時的交換。//獲取要轉換的整數(shù)的絕對值if(radix==10&&num<0)//要轉換成十進制數(shù)并且是負數(shù){unum=(unsigned)-num;//將num的絕對值賦給unumstr[i++]='-';//在字符串最前面設置為'-'號,并且索引加1}else unum=(unsigned)num;//若是num為正,直接賦值給unum//轉換部分,注意轉換后是逆序的do{str[i++]=index[unum%(unsigned)radix];//取unum的最后一位,并設置為str對應位,指示索引加1unum/=radix;//unum去掉最后一位}while(unum);//直至unum為0退出循環(huán)str[i]='\0';//在字符串最后添加'\0'字符,c語言字符串以'\0'結束。//將順序調整過來if(str[0]=='-') k=1;//如果是負數(shù),符號不用調整,從符號后面開始調整else k=0;//不是負數(shù),全部都要調整char temp;//臨時變量,交換兩個值時用到for(j=k;j<=(i-1)/2;j++)//頭尾一一對稱交換,i其實就是字符串的長度,索引最大值比長度少1{temp=str[j];//頭部賦值給臨時變量str[j]=str[i-1+k-j];//尾部賦值給頭部str[i-1+k-j]=temp;//將臨時變量的值(其實就是之前的頭部值)賦給尾部}return str;//返回轉換后的字符串
}

示例程序:

#include <stdlib.h>
#include <stdio.h>
int main()
{int number1 = 123456;int number2 = -123456;char string[16] = {0};itoa(number1,string,10);printf("數(shù)字:%d 轉換后的字符串為:%s\n",number1,string);itoa(number2,string,10);printf("數(shù)字:%d 轉換后的字符串為:%s\n",number2,string);return 0;
}

效果截圖:

2、自己簡單實現(xiàn)

實現(xiàn)代碼


#include <stdio.h>char* Int2String(int num,char *str);//函數(shù)聲明 
int main()
{int number1 = 123456;int number2 = -123456;char string[16] = {0};Int2String(number1,string);printf("數(shù)字:%d 轉換后的字符串為:%s\n",number1,string);Int2String(number2,string);printf("數(shù)字:%d 轉換后的字符串為:%s\n",number2,string);return 0;
}char* Int2String(int num,char *str)//10進制 
{int i = 0;//指示填充str if(num<0)//如果num為負數(shù),將num變正 {num = -num;str[i++] = '-';} //轉換 do{str[i++] = num%10+48;//取num最低位 字符0~9的ASCII碼是48~57;簡單來說數(shù)字0+48=48,ASCII碼對應字符'0' num /= 10;//去掉最低位	}while(num);//num不為0繼續(xù)循環(huán)str[i] = '\0';//確定開始調整的位置 int j = 0;if(str[0]=='-')//如果有負號,負號不用調整 {j = 1;//從第二位開始調整 ++i;//由于有負號,所以交換的對稱軸也要后移1位 }//對稱交換 for(;j<i/2;j++){//對稱交換兩端的值 其實就是省下中間變量交換a+b的值:a=a+b;b=a-b;a=a-b; str[j] = str[j] + str[i-1-j];str[i-1-j] = str[j] - str[i-1-j];str[j] = str[j] - str[i-1-j];} return str;//返回轉換后的值 
}

效果截圖

三、字符串轉整數(shù)

1、拓展函數(shù)
? ? ? ? ? ? atoi (表示 alphanumeric to integer)是把字符串轉換成整型數(shù)的一個函數(shù)。
? ? ? ? ? ? windows環(huán)境下,在<stdlib.h>頭文件中

int  atoi(const char *nptr);//字符串轉整數(shù)函數(shù),nptr: 要轉換的字符串

源碼:

int  atoi(const char *nptr)
{return (int)atol(nptr);
}long  atol(const char *nptr)
{int c;              /* 當前要轉換的字符(一個一個字符轉換成數(shù)字) */long total;         /* 當前轉換結果 */int sign;           /* 標志轉換結果是否帶負號*//*跳過空格,空格不進行轉換*/while ( isspace((int)(unsigned char)*nptr) )++nptr;c = (int)(unsigned char)*nptr++;//獲取一個字符準備轉換 sign = c;           /*保存符號標示*/if (c == '-' || c == '+')c = (int)(unsigned char)*nptr++;    /*跳過'+'、'-'號,不進行轉換*/total = 0;//設置轉換結果為0 while (isdigit(c)) {//如果字符是數(shù)字 total = 10 * total + (c - '0');     /* 根據(jù)ASCII碼將字符轉換為對應的數(shù)字,并且乘10累積到結果 */c = (int)(unsigned char)*nptr++;    /* 取下一個字符 */}//根據(jù)符號指示返回是否帶負號的結果 if (sign == '-')return -total;elsereturn total;  
}

示例程序:

#include<stdio.h>
#include<stdlib.h> int main()
{printf("字符串\"123456\"轉換為數(shù)字:%d\n",atoi("123456"));printf("字符串\"-123456\"轉換為數(shù)字:%d\n",atoi("-123456"));return 0;
}


效果截圖:

2、自己簡單實現(xiàn)

實現(xiàn)源碼

#include<stdio.h>int String2Int(char *str);//函數(shù)聲明 
int main()
{printf("字符串\"123456\"轉換為數(shù)字:%d\n",String2Int("123456"));printf("字符串\"-123456\"轉換為數(shù)字:%d\n",String2Int("-123456"));return 0;
}int String2Int(char *str)//字符串轉數(shù)字 
{char flag = '+';//指示結果是否帶符號 long res = 0;if(*str=='-')//字符串帶負號 {++str;//指向下一個字符 flag = '-';//將標志設為負號 } //逐個字符轉換,并累加到結果res while(*str>='0' && *str<='9')//如果是數(shù)字才進行轉換,數(shù)字0~9的ASCII碼:48~57 {res = 10*res+  *str++ - '0';//字符'0'的ASCII碼為48,48-48=0剛好轉化為數(shù)字0 } if(flag == '-')//處理是負數(shù)的情況{res = -res;}return (int)res;
}

截圖

四、利用sprintf()函數(shù)和sscanf()函數(shù)? ??

? ? ? ?整數(shù)轉字符串

? ? ? ?測試代碼:

? ? ? ? ?

#include <stdio.h>char* Int2String(int num,char *str);//函數(shù)聲明 
int main()
{int number1 = 123456;int number2 = -123456;char string[16] = {0};Int2String(number1,string);printf("數(shù)字:%d 轉換后的字符串為:%s\n",number1,string);Int2String(number2,string);printf("數(shù)字:%d 轉換后的字符串為:%s\n",number2,string);return 0;
}char* Int2String(int num,char *str)
{sprintf(str, "%d", num);return str;}

? ? ? ?運行結果:

? ? ? ?字符串轉整數(shù)

? ? ? ?測試代碼:

#include<stdio.h>int String2Int(char *str);//函數(shù)聲明 
int main()
{printf("字符串\"123456\"轉換為數(shù)字:%d\n",String2Int("123456"));printf("字符串\"-123456\"轉換為數(shù)字:%d\n",String2Int("-123456"));return 0;
}int String2Int(char *str)//字符串轉數(shù)字 
{char flag = '+';//指示結果是否帶符號 long res = 0;if(*str=='-')//字符串帶負號 {++str;//指向下一個字符 flag = '-';//將標志設為負號 } sscanf(str, "%ld", &res);if(flag == '-'){res = -res;}return (int)res;
}

? ? ? ?運行結果:

? ? ? ?

五、附ASCII碼表(部分)

ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

http://www.risenshineclean.com/news/46704.html

相關文章:

  • web前端工程師職業(yè)規(guī)劃seo推廣優(yōu)化的方法
  • 公司網站建設有什么好處2345網址導航下載
  • 網站建設的公司在哪找企業(yè)推廣策略
  • 做網站犯法嗎小廣告圖片
  • 類似網站的建設西安seo網絡優(yōu)化公司
  • 網站建設個人網站佛山網絡推廣哪里好
  • 網站備案信息傳網店推廣聯(lián)盟
  • wordpress 小工具 調用seo是什么崗位
  • 山東日照建設網站微信小程序怎么開通
  • 做藥材生意的網站免費下載百度app最新版本
  • 濟南網絡廣播電視臺北京關鍵詞優(yōu)化報價
  • 域名服務器的四種類型營口seo
  • 網站建設需要哪些方面愛站網權重查詢
  • 深圳燃氣公司地址在哪里哈爾濱seo關鍵字優(yōu)化
  • 網站首頁大圖怎么做優(yōu)化推廣網站排名
  • 知名網站建設定制如何聯(lián)系百度客服
  • 電梯配件做外貿在哪個網站上海網絡推廣招聘
  • 網站開發(fā)調研方案中小企業(yè)網絡營銷現(xiàn)狀
  • 如何做網站首頁百度查重
  • 網站代碼制作軟件網絡營銷五種方法
  • wordpress國外主題慢點擊排名優(yōu)化
  • 網站后臺動態(tài)播放怎么做的招代理最好的推廣方式
  • 網站如何兼容大多瀏覽器怎么注冊電商平臺
  • 溧陽網站設計唐山seo排名
  • 做安全題目是哪個網站長沙百度網站快速排名
  • 蘇州網站建設設計公司免費網站建設制作
  • 做內貿只要有什么網絡推廣網站搜索引擎技術基礎
  • 網站功能測試方法怎么做好公司官網推廣
  • 手機怎么做網站免費的百度學術官網入口
  • 電腦維修 做網站小廣告圖片