ubundu 下, libxml2 xmlSaveFile 返回-1 ,用 xmlGetLastError返回权限不足
时间: 2023-06-13 18:09:11 浏览: 226
这个问题可能是由于权限问题引起的。请确保你有足够的权限来写入到指定的文件路径。你可以通过使用 chmod 命令来更改文件权限,以确保你有足够的权限来写入文件。
如果你已经确定你有足够的权限,并且问题仍然存在,你可以尝试使用 strace 命令来查看程序的系统调用,以查看是否有其他问题。
另外,你也可以检查一下 xmlSaveFile 函数的返回值,看看它是否返回了其他错误信息。你可以参考 libxml2 的文档来了解更多的细节。
相关问题
ubundu 如何解压 cudnn-linux-x86_64-8.9.1.23_cuda11-archive.tar.xz
你可以按照以下步骤解压cudnn-linux-x86_64-8.9.1.23_cuda11-archive.tar.xz:
1. 首先,你需要安装xz-utils和tar工具,如果你还没有安装的话。你可以使用以下命令安装它们:
```
sudo apt-get install xz-utils tar
```
2. 将cudnn-linux-x86_64-8.9.1.23_cuda11-archive.tar.xz文件复制到你想要解压的目录中。
3. 进入该目录并运行以下命令来解压文件:
```
tar -xf cudnn-linux-x86_64-8.9.1.23_cuda11-archive.tar.xz
```
4. 解压完成后,你可以看到一个名为cudnn-linux-x86_64-8.9.1.23_cuda11的文件夹。你可以将它移动到你想要的位置,或者将其添加到你的环境变量中。
希望这可以帮到你!
ubundu libxml2 添加节点,请用添加用户节点给出代码例子
好的,以下是在Ubuntu下使用libxml2添加一个用户节点的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main() {
xmlDocPtr doc;
xmlNodePtr root, user;
// 创建一个新的xml文档
doc = xmlNewDoc(BAD_CAST "1.0");
root = xmlNewNode(NULL, BAD_CAST "users");
xmlDocSetRootElement(doc, root);
// 创建一个新的用户节点
user = xmlNewChild(root, NULL, BAD_CAST "user", NULL);
xmlNewProp(user, BAD_CAST "id", BAD_CAST "1");
xmlNewChild(user, NULL, BAD_CAST "name", BAD_CAST "John");
xmlNewChild(user, NULL, BAD_CAST "age", BAD_CAST "30");
// 将xml文档保存到文件中
xmlSaveFormatFileEnc("users.xml", doc, "UTF-8", 1);
// 释放资源
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
这个代码示例创建了一个名为"users.xml"的XML文件,并在其中添加了一个用户节点,该节点具有id、name和age属性。你可以根据你的需求修改这个代码示例来添加更多的用户节点。
阅读全文