小编zaj*_*cev的帖子

当realloc移动内存块时如何更新其他指针?

realloc引用说:

该功能可以将存储块移动到新位置,在这种情况下返回新位置.

这是否意味着如果我这样做:

void foo() {

        void* ptr = malloc( 1024 );

        unsigned char* cptr = ( unsigned char* )ptr+256;

        ptr = realloc( ptr, 4096 );
}
Run Code Online (Sandbox Code Playgroud)

那么如果realloc移动块,cptr可能会变为无效?

如果是,那么以任何方式重新分配信号,它将移动块,以便我可以做一些事情来防止cptr变得无效?

c memory malloc realloc

19
推荐指数
2
解决办法
6280
查看次数

Tagsoup无法解析StringReader(java)中的html文档

我有这个功能:

private Node getDOM(String str) throws SearchEngineException {

                DOMResult result = new DOMResult();

                try {
                        XMLReader reader = new Parser();
                        reader.setFeature(Parser.namespacesFeature, false);
                        reader.setFeature(Parser.namespacePrefixesFeature, false);
                        Transformer transformer = TransformerFactory.newInstance().newTransformer();
                        transformer.transform(new SAXSource(reader,new InputSource(new StringReader(str))), result);
                } catch (Exception ex) {
                        throw new SearchEngineException("NukatSearchEngine.getDom: " + ex.getMessage());
                }

                return result.getNode();
        }
Run Code Online (Sandbox Code Playgroud)

它需要一个String,它包含一个POST请求后由http服务器发送的html文档,但无法正确解析它 - 我只得到整个文档中的四个节点.字符串本身看起来很好 - 如果我将其打印出来并将其复制到文本文档中,我会看到我期望的页面.

当我使用上述方法的重载版本时:

private Node getDOM(URL url) throws SearchEngineException {

                DOMResult result = new DOMResult();

                try {
                        XMLReader reader = new Parser();
                        reader.setFeature(Parser.namespacesFeature, false);
                        reader.setFeature(Parser.namespacePrefixesFeature, false);
                        Transformer transformer = …
Run Code Online (Sandbox Code Playgroud)

java string tag-soup stringreader

5
推荐指数
1
解决办法
2162
查看次数

标签 统计

c ×1

java ×1

malloc ×1

memory ×1

realloc ×1

string ×1

stringreader ×1

tag-soup ×1