char a[10]="28abcdefg"
如何把上面那个前两位截取出来放到一个int里面!把后面"abcdefg"放到另外一个char里面!!
char a[10]="28abcdefg"
如何把上面那个前两位截取出来放到一个int里面!把后面"abcdefg"放到另外一个char里面!!
以下程序通过测试. 附图.
#include <iostream.h>
int main()
{
char a[10]="28abcdefg";
char b[10];
int cnt_index=0,cnt_int=0;
//cnt_int 用于存放字符串中的数字.
//cnt_index 作为字符串b的下标.
for(int i=0;a[i]!='\0';++i) //当a数组元素不为结束符时.遍历字符串a.
{
if(a[i]>='0'&& a[i]<='9') //如果是数字.
{
cnt_int*=10;
cnt_int+=a[i]-'0'; //数字字符的ascii-字符'0'的ascii码就等于该数字.
}
else if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) //如果是字母.
{
b[cnt_index++]=a[i]; //如果是字符,则增加到b数组中.
}
}
b[cnt_index++]='\0'; //增加字符串结束符.
cout<<b<<endl; //输出字符串.
cout<<cnt_int<<endl; //输出数字.
return 0;
}
上面那个可以看作是提取字符串中的数字来处理,这样的话用这个方法可以:
for(i=0,i<=10,i++)
if(0<=a[i]<=9)
b[i]=a[i];//将数字放入数组b.
if('A'<=a[i]<='z')
c[i]=a[i];字符放入数组c.