Как работать с файлами в XPCOM - PullRequest
0 голосов
/ 11 октября 2010

Я пишу компонент 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.Кто-нибудь может дать мне несколько советов или ссылок на учебники, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 11 октября 2010

Вы захотите использовать nsIFileOutputStream .

0 голосов
/ 11 октября 2010

Вы, вероятно, видели nsIFile, который предлагает метод IsWriteable(), но не write().Вы бы хотели nsILocalFile::openANSIFileDesc(), который возвращает обычный FILE*.

...