Memory: 35073M total, 20683M avail, page size 4K这一段字符串,怎么把20683的数值与35073的值提取出来,用C语言
时间: 2024-02-11 15:04:11 浏览: 113
c语言中内存的分析与计算
4星 · 用户满意度95%
你可以使用C语言中的字符串处理函数和数值转换函数来提取这两个数值。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "Memory: 35073M total, 20683M avail, page size 4K";
char *ptr = strstr(str, "total, ");
if (ptr == NULL) {
printf("Error: string not found\n");
return 1;
}
int total = atoi(ptr + 7);
ptr = strstr(ptr, "avail, ");
if (ptr == NULL) {
printf("Error: string not found\n");
return 1;
}
int avail = atoi(ptr + 7);
printf("total = %d, avail = %d\n", total, avail);
return 0;
}
```
这个程序首先使用`strstr`函数找到字符串中包含"total, "和"avail, "的部分,然后使用`atoi`函数将数值部分转换为`int`类型。最后,程序将这两个数值打印出来。注意,这里假设输入字符串中"total, "和"avail, "的位置是固定的,并且数值部分的格式是正确的。在实际应用中,你需要根据具体情况进行适当的修改。
阅读全文