在给定文件中查找所有子字符串实例

Kei*_*ler 1 c string substring

我正在开发一个函数来查找html文件中引用的所有图像,目前我正在尝试在文件中找到这些子字符串:".bmp" ".gif" ".jpg" ".png"并且还想找到它们的根源,例如:/images/foo/然后使用这两个子字符串来创建一个新的string:/images/foo/bar.jpg我知道我将如何连接字符串,但我不知道如何找到实际的子字符串,我现在感到非常不知所措,并且非常感谢一些帮助.

Dav*_*nco 5

这个问题的"正确"答案应该促使你使用为工作而构建的工具.聪明的人写东西是libxml有原因的.重新发明轮子只会让事情变得更加困难.随着libxml,例如,您可以轻松地遍历XML树,像这样:

for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
    if (cur_node->type == XML_ELEMENT_NODE) {
        printf("node type: Element, name: %s\n", cur_node->name);
}
Run Code Online (Sandbox Code Playgroud)

"错误的"答案是通过查找图像标记(<img)的开头或者"如评论中提到的Doug所引用的引用,找出一些用于查找图像字符串开头的"技巧" .

你会注意到我在引文中出错.我有点纯粹主义者,强烈建议使用面向XML的解决方案,因为它完全可以推广并且可以轻松扩展(明天你可以说:哦,我也需要锚文本).DOM解析器可以轻松解决每个后续问题.

但是如果你正在研究概念证明或原型(或者甚至是家庭作业),其中一切都是格式良好的,并且你不会在野外发布你的代码,那么"错误"的方法可能就足够了.