读逗号分隔的字符串

时间:2010-12-29 01:35:12

标签: c

我想读取包含整数的字符串,并将所有整数存储在某些整数变量中。 e.g

 str[]="12,23,45"

任何人都可以帮助我。 我尝试了一个空格分隔的整数..

            #include<string.h>
            #include<stdio.h>
            int main()
            {
                char buffer[]="12,34,56";
                int x,y,z;
                if(sscanf(buffer,"%d%d%d",&x,&y,&z)>2);
                {

                    printf("%d\n",x);
                    printf("%d\n",y);
                    printf("%d\n",z);
                }

            return 0;
}

感谢您宝贵的时间。 保持快乐。

2 个答案:

答案 0 :(得分:6)

你快到了!

sscanf()要求您提供要解析的预期字符串的格式。

数字之间有逗号...只是尝试在%d ...

之间添加逗号
  "%d,%d,%d"

答案 1 :(得分:2)

选项1 :使用标准库函数的组合,例如strtok()atoi()sscanf()。有了这些工具,您马上就可以搞清楚了!

选项2 :推出自己的功能!这是一个很好的思考延伸:)。