C中的进度字符串解析

5 c string

我有以下字符串:

"..1....10..20....30...40....50...80..." 
Run Code Online (Sandbox Code Playgroud)

我需要从中提取所有数字到数组中.

用C做最好的方法是什么?

Gre*_*ill 11

也许最简单的方法是使用该strtok()功能(或者strtok_r()如果担心重入):

char str[] = "..1...10...20";
char *p = strtok(str, ".");
while (p != NULL) {
    printf("%d\n", atoi(p));
    p = strtok(NULL, ".");
}
Run Code Online (Sandbox Code Playgroud)

一旦得到调用结果,atoi()将这些整数保存到数组中应该是一件简单的事情.