C++ 从stat格式化mtime(系统调用)

C++ 从stat格式化mtime(系统调用),c++,struct,stat,strftime,time-t,C++,Struct,Stat,Strftime,Time T,因此,我正在编写一个程序来模拟linux中的“find”命令。我已经处理好了所有的事情,但是我不知道如何格式化ctime、mtime和atime中的字符串 我知道参数是struct time\t,但我找不到将其转换为可格式化字符串的方法 我所拥有的部分内容如下。由于错误“error:无法将参数“4”的“\u-time\t”转换为“const-tm”,而将参数“4”转换为“size\t-strftime(char*,size\u-t,const-char*,const-tm*”,因此它无法工作 理

因此,我正在编写一个程序来模拟linux中的“find”命令。我已经处理好了所有的事情,但是我不知道如何格式化ctime、mtime和atime中的字符串

我知道参数是struct time\t,但我找不到将其转换为可格式化字符串的方法

我所拥有的部分内容如下。由于错误“error:无法将参数“4”的“\u-time\t”转换为“const-tm”,而将参数“4”转换为“size\t-strftime(char*,size\u-t,const-char*,const-tm*”,因此它无法工作

理想情况下,我想要这样的东西:

cout << strftime(mBuf, 18, "%I:%M:%S-%m/%d/%y", (&sb.st_mtime));

cout您必须分几个步骤来完成:

struct tm *mytm = localtime(&sb.st_mtime);
strftime(mBuf, 18, "%I:%M:%S-%m/%d/%y", mytm);
cout << mBuf;
strftime(mBuf, 18, "%I:%M:%S-%m/%d/%y", localtime(&sb.st_mtime));