对于正常的文件路径,我可以使用stat并获取它的大小。当路径包含非ASCII名称如C:\ temp \ s \ e \ app \ log时,它不起作用。如何使用非ascii字符的统计文件
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 *。从命令提示符收到的路径实际上并不是一个有效的文件。
如果您能够以其他方式打开文件,则始终可以在文件描述符上使用'fstat()'。 – FatalError 2012-04-18 17:29:08
我的铭文终端,我的编辑都不允许我输入这些字符。哈哈:) – 2012-04-18 17:35:15
你确定你交出文件名正确编码和逃脱?用“ls”C:\ temp \ s \ e \ app.log'“进行测试。 – j13r 2012-04-18 17:35:33