首页
社区
课程
招聘
c语言问题
2017-2-14 10:03 2767

c语言问题

2017-2-14 10:03
2767
char* a="0,1,4,6,7,..."; //个数未知,这个串由用户输入,格式就是用逗号隔开的数字,

我要把所有数字取出来放到一个int数组里,怎么弄

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 293
活跃值: (232)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
瀚海云烟 1 2017-2-14 10:26
2
0
C++的话,用sstream里的stringstream很方便,C的话估计是要自己遍历了,第一次获取长度,第二次 strtol 转
雪    币: 69
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
soechin 2017-2-14 10:28
3
0
strchr
strncpy
雪    币: 2290
活跃值: (908)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
轩辕之风 1 2017-2-14 10:41
4
0
C语言得手动挡了。
C++自动档操作简单。
雪    币: 216
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Gkey 2017-2-14 12:04
5
0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void fun(char * str, int * arr)
{
    int i;
    char * endptr;
    for(i=0; i<100; i++)
    {
        arr[i] = strtol(str, &endptr, 10);
        str = endptr+1;
    }
}

int main()
{
    char * str = "0,1,2,3,4,5,100,7,8";
    int arr[100];
    memset(&arr, 0, 100);
    fun(str, arr);
    int i;

    for(i=0; i<100; i++)
    {
        printf("%d",arr[i]);
    }
    printf("Hello world!\n");
    return 0;
}
雪    币: 291
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
浅滩晓海 2017-2-14 13:46
6
0
谢谢,手动档高人
雪    币: 189
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gameuu 2018-10-27 21:14
7
0
高人,对初级者非常有帮助谢谢。
游客
登录 | 注册 方可回帖
返回