润和Neptune(W800)文件不能写入
参照鸿蒙官方指引,在润和Neptune(W800)开发板上测试,写入字节数总是0,不知道是什么原因,特来请教大神!
相关代码如下:
else if (strcmp((char *)p_uart_opr->rx_buffer, "test-fs") == 0)
{
// open && write
char fileName[] = "testfile";
static const char def[] = "utils_file_operation implement.";
int fd = UtilsFileOpen(fileName, O_RDWR_FS | O_CREAT_FS | O_TRUNC_FS, 0);
printf("file handle = %d\n", fd);
int ret = UtilsFileWrite(fd, def, strlen(def));
printf("write ret = %d\n", ret);
// seek
ret = UtilsFileSeek(fd, 5, SEEK_SET_FS);
printf("lseek ret = %d\n", ret);
// read && close
char buf[64] = {0};
int readLen = UtilsFileRead(fd, buf, 64);
ret = UtilsFileClose(fd);
printf("read len = %d : buf = %s\n", readLen, buf);
// stat
int fileLen = 0;
ret = UtilsFileStat(fileName, &fileLen);
printf("file size = %d\n", fileLen);
// delete
ret = UtilsFileDelete(fileName);
printf("delete ret = %d\n", ret);
}
在终端打印如下:
Received 7 byte(s) new data from UART1:
test-fs
file handle = 0
write ret = 0
lseek ret = 0
read len = 0 : buf =
file size = 0
delete ret = 0
Neptune
W800
文件读写
公共基础
赞
2
收藏 0
回答 3
已解决
你好,你可以去找个历程看看别人是怎么用的,是不是要指定文件位置?挂载文件系统?创建文件?
这个功能在HI3861是没有问题的,因此功能是要依赖底层的SDK才能实现,但我发现此功能在neptune-harmony-os1.1-iot/device/winnermicro/neptune/w800_adapter/hals/utils/file中实现此功能的libhal_file_static.a静态库中并没有链接底层W800 SDK中的函数,所以此功能在W800 中尚未实现。