0

だから私はLinuxで「find」コマンドを模倣するプログラムを書いています。私はすべての面倒を見てくれましたが、ctime、mtime、atimeから文字列をフォーマットする方法がわかりません。

引数がstructtime_tであることは知っていますが、フォーマット可能な文字列に変換することができません。

私が持っているものの一部は以下の通りです。エラー「エラー:引数「4」の「__time_t」を「consttm」に変換できません」「size_tstrftime(char *、size_t、const char *、const tm *)」が原因で機能しません

理想的には、次のようなものが必要です。

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

ここで、sbはstat構造体です。次の形式で印刷する必要があります:HH:MM:SS-MM / DD / YY

答えは簡単なことだと思いますが、理解できません。

4

1 に答える 1

0

いくつかの手順でそれを行う必要があります。

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

もちろん、 and への呼び出しは 1 つのlocaltime呼び出しstrftimeに組み合わせることができます。

strftime(mBuf, 18, "%I:%M:%S-%m/%d/%y", localtime(&sb.st_mtime));
于 2012-05-24T05:22:00.380 に答える