在纯c中以字符串(char*)查找int

Apa*_*che 2 c string int parsing char

有一个带有一行文字的字符串.让我们说:

char * line = "Foo|bar|Baz|23|25|27";
Run Code Online (Sandbox Code Playgroud)

我必须找到数字.

我在考虑这样的事情:

  1. 如果给定的char是一个数字,让我们将它放入一个临时的char数组中.(缓冲)
  2. 如果下一个字符不是数字,那么让缓冲区成为一个新的int.

问题是......如何在这样的字符串中找到数字?
(我对C99/gcc不太熟悉.)

编译器使用:gcc 4.3(环境是Debian Linux 稳定版.)

Aru*_*run 7

我会接近以下内容:

  • 考虑'|' 作为分隔符,标记文本行,即将行拆分为多个字段.
  • 对于每个令牌:
    • 如果令牌是数字:
      • 将令牌转换为数字

一些库函数可能是有用的strtok,isdigit,atoi.