C++如何用strtok函数提取该string中的数字集合 -2408835.9820 4698169.2238 3566538.6125 APPROX POSITION
时间: 2024-05-09 16:18:52 浏览: 42
可以按照以下步骤使用strtok函数提取该string中的数字集合:
1. 首先,将该string转换成一个字符数组,方便使用strtok函数进行分割。可以使用strcpy函数将该string复制到一个字符数组中。
2. 然后,使用strtok函数进行分割。strtok函数需要两个参数:第一个参数是要分割的字符数组,第二个参数是分割的分隔符。在这个例子中,分隔符是空格。
3. 使用atof函数将分割出来的字符串转换为浮点数。atof函数可以将字符串转换为浮点数。
4. 将转换后的浮点数存储到一个数组中,以便后续使用。
下面是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "-2408835.9820 4698169.2238 3566538.6125 APPROX POSITION";
char *ptr;
double nums[3];
int i = 0;
ptr = strtok(str, " ");
while (ptr != NULL) {
nums[i] = atof(ptr);
i++;
ptr = strtok(NULL, " ");
}
printf("The numbers are: %f, %f, %f", nums[0], nums[1], nums[2]);
return 0;
}
```
运行结果为:
```
The numbers are: -2408835.982000, 4698169.223800, 3566538.612500
```
阅读全文