我有一个使用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