我创建了一个Firefox附加组件。
现在,当我手动将其放入当前的Profiles文件夹并加载浏览器时,它会提示安装。 但是当我使用VC ++可执行文件将.xpi文件复制到当前的Profiles文件夹然后重新加载浏览器时,它会自动删除.xpi文件。
请指出哪里出错了。我相信通过VC ++可执行文件进行复制会引发一些问题。
以下是相同的代码:
FILE* pnReadFile = fopen(spnDirPtr->d_name, "r");
if (pnReadFile)
{
char strDestFileName[MAX] = { 0 };
sprintf(strDestFileName, "%s\%s", arDestPath, xpi);
FILE* pnWriteFile = fopen(strDestFileName, "w"); /*File Pointer to write in file*/
if (pnWriteFile)
{
char buffer[MAX] = { 0 }; /*Buffer to store files content*/
while (fgets(buffer, MAX, pnReadFile))
{
fputs(buffer, pnWriteFile);
}
fclose(pnWriteFile);
}
else
{
printf("\n Unable to open file %s", strDestFileName);
}
fclose(pnReadFile);
}
答案 0 :(得分:1)
我能够弄清楚一样。文件I / O方法没有完全复制xpi,因为xpi已损坏,因此在firefox加载时自动删除。我使用了system()copy命令,并且能够成功地完成同样的操作。