我有一個使用Direct-show抓取視頻的程序。我的問題是我想要保存的視頻有時間作爲名稱。以下是我所做的:獲取時間作爲文件名
CoInitialize(NULL);
CComPtr<IGraphBuilder> graph;
graph.CoCreateInstance(CLSID_FilterGraph);
time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
wchar_t pathstuff[50];
swprintf(pathstuff, L"D:\\BMDvideos\\%hs.avi", asctime(timeinfo));
LPCOLESTR x = pathstuff;
HRESULT hr = BuilGraph(graph,x);
..........
這不起作用,任何想法我怎麼能做到這一點?
您是否檢查過,如果您的'timeinfo *'包含有效數據? – 2013-02-25 09:25:44
@ bash.d更可能的問題是他在Windows下。 'asctime'在其格式中使用冒號,Windows不允許在文件名中使用冒號(除了特殊用途,如初始設備說明符或輔助流)。 – 2013-02-25 09:30:18
@JamesKanze很高興知道! – 2013-02-25 09:31:02