#include <stdio.h>
#include <string.h>
// 把字符串转换成数字,例如:’123‘转换成123
int toNumber(char *str, int pre, int p)
{
int num = 0;
for(int i = pre; i <= p; i++)
num = num * 10 + (str[i] - 48);
return num;
}
//把含有逗号的数字字符串转换成数字数组
int toArray(char *str, char c, int arr[])
{
int pre = 0, p = 0;
int len = strlen(str);
int cnt = 0;
for(int i = 0; i < len; i++)
{
if(str[i] == c || i == len - 1)
{
if(i == len - 1)
p = p + 1;
int num = toNumber(str, pre, p);
arr[cnt++] = num;
pre = i + 1;
}
else
{
p = i;
}
}
return cnt;
}
int main(void) {
char str[] = "512,34,288";
char c = ',';
int arr[] = {0, 0, 0, 0, 0};
int cnt = toArray(str, c, arr);
for(int i = 0; i < cnt; i++)
printf("%d\n", arr[i]);
return 0;
}
网友评论