在網絡上看到很多人提到如何用C語言獲取字符串中的數值的問題。其實這個問題的解決方法很多,這裡給出一段簡單的分析字符串,提取數值的代碼:
從字符串中簡單提取數值,其主要功能有:
1)掃描字符串中一段數值字符串;
2)掃描一段連續數值字符,並按十進制格式提取數值;
3)如果字符串第一個字符非數值字符,直接停止,報錯;
4)數值字符段後有非數值字符,直接停止讀取後續字符,將提取的字符以十進制格式轉換輸出;
其主要實現部分,見skip_atoi代碼
注:其中isdigit函數是系統ctype.h提供的一個數值檢測函數,類似一個switch case 判斷。
測試正常數值字符串結果:
測試字母起始數值字符串結果:
測試字母結束數值字符串結果: