【发布时间】:2014-04-06 19:50:18
【问题描述】:
所以说我有一个这样的字符数组
char *array = "hello my name is steven 123*3";
我想从这个表达式中提取123 并将其放入int。
我知道我可以做类似的事情
int firstnum = array[15] - '0';
(假设 1 是数组中的第 15 个字符),这将给我firstnum = 1。
但我希望能够将整个 123 数字转换为一个整数,但我不太确定如何做到这一点。
感谢任何帮助
编辑:我刚刚发现了一个叫做 strtol 的东西,但不确定如何使用它。
我在想 long numberwanted = strtol(array[15], *p, 10); 但是我怎么让它知道什么时候停止呢?或者一旦你到达一个非整数或非长整数,它会停止吗?什么是*p?
【问题讨论】:
-
array[15]是“s”。 15是错误的位置。strtol(array[15], *p, 10);:array[15]是char,而不是char*。