【发布时间】:2010-10-11 05:45:34
【问题描述】:
我正在编写一个 Mozilla 组件来获取页面中的所有链接,并使用 XPCOM 和 C++ 将它们写入文件。 我将所有链接放入这样的数组中:
//doc is a pointer to nsIDOMDocument
doc->GetElementsByTagName(NS_LITERAL_STRING("A"), getter_AddRefs(nodeList));
nodeList->GetLength(&nodeNumb);
href = new nsEmbedString[nodeNumb];
for(PRUnit32 i=0; i< nodeNumb; i++){
nsCOMPtr<nsIDOMNode> aNode;
nodeList->Item(i, getter_AddRefs(aNode));
nsCOMPtr<nsIDOMHTMLAnchorElement> anchor = do_QueryInterface(aNode);
if(anchor){
(*outLinks)++;
href[i] = anchor->GetHref(tempHref);
}
} // end of for
但是现在我怎样才能让它们写入文件。我真的不知道如何在 XPCOM 中使用文件。有人可以给我一些提示或教程链接吗?
【问题讨论】:
-
我对 XPCOM 不熟悉,但是你不能使用标准 C++ 流有什么原因吗?
-
@casablanca:XPCOM 提供了一些支持,以独立于平台的方式为此类文件找到合理的位置。在实践中,你会发现它在 Windows 上是不够的。
标签: c++ file components mozilla xpcom