文件就在那里,里面有json数据。我想知道文件的长度。但是当我尝试下面的代码,但大小仍然是0.
int file_contentl_Len = 0;
int fd_0 ;
fd_0 = open(FILE_PATH_CONFIG_0, O_WRONLY | O_TRUNC | O_CREAT, 0644);
if(fd_0 < 0)
{
printf("\r\nError opening Config file %s: %s\n",FILE_PATH_CONFIG_0, strerror(errno));
return -1;
}
struct stat buf;
fstat(fd_0, &buf);
file_contentl_Len = buf.st_size;
printf("\r\nConfig file %s content length: %d\r\n", FILE_PATH_CONFIG_0, file_contentl_Len);
答案 0 :(得分:4)
您打开文件进行截断,必要时创建 - O_WRONLY | O_TRUNC | O_CREAT
。
大小为零会告诉您截断是否有效,或者文件是否为空。
如果您想阅读文件中的内容,请改用O_RDONLY
。或者使用O_RDWR
并仔细考虑是否允许创建文件。