对于普通文件路径,我可以使用stat并获取它的大小。当路径包含非ascii名称,如C:\ temp \ sमानकe \ app.log时,它不起作用。
int main(int argc, char * argv[])
{
struct stat FileAttrib;
if (stat(argv[1], &FileAttrib) < 0) {
printf("File Error Message = %s\n", strerror(errno));
}
else
{
printf("File size %d\n", FileAttrib.st_size);
}
return 0;
}
stat只接受char *。从命令提示符接收的路径实际上并不是有效文件。