日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

假設我們現在正在開發一款文檔管理類軟件。其中一項功能就是一次性創建多個名稱連續的文件夾,如Icon1、 Icon2等等。整個名稱可以分作兩部分,前半部分是常量字符串"Icon",后半部分是編號字符串。在使用循環語句生成名稱時,編號是數字,如果能將編號轉換為一個字符串,那么我們就可以用strcat函數將兩部分組合起來,然后使用mkdir創建文件夾即可。因此,現階段問題就變成了如何把數字轉換為對應的字符。

原始社會

現在又到了查看ASCII碼表的時候了,通過查表我們可以看到,字符'0',對應的ASCII碼是48,也就是說數值48,轉換為char類型就是字符'0',根據這個簡單的對應關系,我們就可以生成名稱了。

C語言快速入門——字符串生成

 


C語言快速入門——字符串生成

 

我們輸出編號從0-9的名稱,整體效果還不錯。不過,我想你也看到局限性了,如果要生成編號大于10的名稱,這個程序就像小孩數指頭做算術一樣,不夠用了。

二階文明

在這一文明階段的,我們的思考認知能力有了巨大的提升,我們希望能根據指定的一個區間生成對應的名稱,如Icon17到Icon35,同時還希望前導名稱能夠指定,就像是Name999-Name1234一樣。同樣,最關鍵的問題還是數值到字符串的轉換,因為現在的數值范圍更大了,需要的處理也就更多了。讓我們嘗試編寫一個函數去解決這個問題。

C語言快速入門——字符串生成

注釋中【相當于num-=factory】有誤


C語言快速入門——字符串生成

 


C語言快速入門——字符串生成

 

三階文明:itoa

現在我們進化到了三階文明,在這一階段,我們不再需要自己編寫復雜的數值轉換字符串函數了。而是使用本階文明提供的函數來完明,這個函數就是itoa,它由stdlib.h提供。

原型名:char*itoa( int value, char *string, int radix );

value是被轉換的整數,string是轉換后儲存的字符數組,radix是轉換進制數,如2,8,10,16進制。

C語言快速入門——字符串生成

 

終極文明

想想看,如果我們僅僅是要輸出符合要求的名稱,那么使用 printf("Icon%d", 83); 之類的語句即可達到要求。在這一文明階段,C語言運行時庫進化出了格式化字符串函數sprintf。

不同于printf將信息輸出到屏幕(確切的說是標準輸出),sprintf將格式化后的字符串輸出到對應的字符數組,一擊達到目的,其相應的安全版本是sprintf_s。同printf一樣,可以使用格式化控制符,可以幫助我們生成補齊的文件夾名稱。在運行完這個程序后,轉到對應的工程目錄,你會發現Icon98 Icon99... 靜靜的躺在那兒。

C語言快速入門——字符串生成

 


C語言快速入門——字符串生成

 

通過這節內容的學習,希望能幫助你更深刻的理解ASCII碼表、更好的操作數組,熟悉C提供的字符串函數。對于C語言字符串函數,建議你更多的使用其安全版本。最后要說明的是,做為練習,你可以寫一個數字轉換為字符串的函數;做為開發,你可以先去查找語言提供的庫是否包含有你需要的功能,有,就用它!

分享到:
標簽:語言
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定