【发布时间】:2019-09-11 04:49:29
【问题描述】:
文件对象是否有各种打印格式化程序?例如:
// pass the filepath
char * filepath = argv[1];
FILE * file = fopen(filepath, "r");
printf("Filepath: %s\n", file.size);
错误信息:
main4.c:416:32: error: no member named 'size' in 'struct __sFILE'
可以从结构中打印的各种项目是什么?
【问题讨论】:
-
见this question。另外,如果您想获取文件的大小,请使用
ftell -
@Spikatrix:就 C 标准而言,
ftell无法可靠地获取文件的大小。既然你不能便携,你不妨使用像stat和fstat这样的非便携函数(或任何Windows等价物)。 -
该代码不应该产生该错误消息。您的
file对象是指针,而不是结构。file->size而不是file.size可能会产生该错误。 -
这里是可以打印的完整列表:
标签: c