c - 从 C 中的字符串中获取文本的特定部分

标签 c string

对于我正在处理的程序,我需要从在线 xml 文档的特定区域获取信息。现在我将 xml 保存为字符串,然后使用 press=xml.substr(1906,5);从中得到我需要的东西。这是我从中提取信息的一行:<pressure_in>30.17</pressure_in>这样做的问题是,如果之间的值比指定长度长,(在本例中为 5 个字符)我无法获得所需的值。我怎样才能可靠地获得它?

最佳答案

你有没有考虑过这样的事情:

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main ()
{
    // sample string below:
    char* xmlText = "<pressure_in>30.17134</pressure_in>";
    int n = strlen(xmlText);
    for (int i = 0; i<n; i++) {
        if (isdigit(xmlText[i]) || xmlText[i] == '.') {
            // store result or just print:
            printf("%c",xmlText[i]);
        }
    }
    printf("\n")
    return 0;
}

输出:

30.17134

关于c - 从 C 中的字符串中获取文本的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319275/

相关文章:

javascript - 字符串到填充字符的数组

c - 标准C库中缓冲区大小的特殊宏是什么?

java - 字符串相乘?

ruby-on-rails - 如何正确格式化字符串,如 'mccdougal' 到 'McDougal'

python - for循环中的字符串调整

c - 声明 void 指针以将类型处理推向下游

c - 原始套接字监听器

c - cmake中静态链接.lib文件

c - libblkid 仅适用于 root 并且以 root 身份运行后

python - 从字符串中获取域? - Python