C++提取字符串中的数字
C++ 提取字符串中的数字 1 #include <iostream>
字符串截取数字部分
2using namespace std;
3int main()
4 {
5char a[50] = "1ab2cd3ef45g";
6char b[50];
7int cnt_index = 0, cnt_int = 0;
8//cnt_int ⽤于存放字符串中的数字.
9//cnt_index 作为字符串b的下标.
10
11for (int i = 0; a[i] != '\0'; ++i) //当a数组元素不为结束符时.遍历字符串a.
12    {
13if (a[i] >= '0'&& a[i] <= '9') //如果是数字.
14        {
15            cnt_int *= 10;//先乘以10保证先检测到的数字存在⾼位,后检测的存在低位
16            cnt_int += a[i] - '0'; //数字字符的ascii-字符'0'的ascii码就等于该数字.
17        }
18
19else if ((a[i] >= 'a'&&a[i] <= 'z') || (a[i] >= 'A'&&a[i] <= 'Z')) //如果是字母.
20        {
21            b[cnt_index++] = a[i]; //如果是字符,则增加到b数组中.
22        }
23    }
24
25    b[cnt_index++] = '\0'; //增加字符串结束符.
26
27    cout << b << endl; //输出字符串. (abcdefg)
28    cout << cnt_int << endl; //输出数字.(12345)
29return0;
30 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。