欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sscanf : 已知一个字符串为1 2 3 4,取出数据放到数组

程序员文章站 2024-02-02 15:24:40
...

代码:

#include <stdio.h>
int main(void)
{
    char str[] = "0-123-41562-4";
    char *p = str;
    int num[100];
    int k=0, r, v, n;
    //从字符串中读取出内容
    while (1)
    {
        r = sscanf(p, "%d-%n", &v, &n);
        if(r==1)
        {
            num[k++] = v;
            p += n;
        }
        else if(r==0)
            p++;
        else
            break;
    }

    //打印读取到的内容
    for(int i=0;i<k;i++)
        printf("%d ",num[i]);
    return 0;
}

输出结果:

0 123 41562 4