执行此命令时:
find ok/ -exec ls -l -d {} \;
终端显示:
drwxrwxrwx 2 alexia alexia 4096 8 oct. 15 22:31 ok/
我试图用stat.h做自己的find命令来做同样的事情:
[...] //Other file information
struct stat fileStat;
stat(path,&fileStat)
char buffer[20];
struct tm *time
time = localtime(&(fileStat.st_mtime));
strftime(buffer, 20, "%b %e %Y", time);
printf("%s", buffer);
并显示:
[...]
8 Oct 15 22:31 ok/
月份格式不好,我也不知道如何正确设置。
欢呼
答案 0 :(得分:0)
默认情况下,C程序在C语言环境下运行。好像您想要一个不同的语言环境,因此将setlocale()
函数与另一个语言环境一起使用。最简单的由空字符串指定。 (语言环境的“ C”值指定了C转换的最小环境;语言环境的“”值指定了特定于语言环境的本机环境。其他实现定义的字符串也可以作为第二个参数传递给setlocale。 ):
setlocale(LC_TIME, “”);
这只会影响时间;您可以使用LC_ALL
更改所有内容。