我正在尝试修改amcap,这是一个来自Windows SDK示例的应用程序,用于从分辨率为1600x1200px的UVC网络摄像头捕获视频。
我正在尝试对这里的一些变量进行硬编码,如文件名,默认分辨率,格式类型等。
WCHAR wszCaptureFile[260];
gcap.wszCaptureFile = (WCHAR)"Capture.avi\0" //modified
gettnig错误:
1>。\ amcap.cpp(3887):错误C2440:'=' :无法从'WCHAR'转换为 'WCHAR [260]'
我该怎么做才能纠正这个问题?
答案 0 :(得分:4)
您无法使用=分配数组wszCaptureFile(正如您所做的那样)。您可以使用strcpy之类的复制方法。
wcscpy和_mbscpy是宽字符 和多字节字符版本 的strcpy
例如:
wcscpy(gcap.wszCaptureFile,L“Capture.avi”);
答案 1 :(得分:3)
提供文字宽字符串并使用安全复制功能:
wcscpy_s(gcap.wszCaptureFile, L"Capture.avi");
文字字符串提供终止零字节。
答案 2 :(得分:2)
根据对答案的评论更新......并考虑wstrcpy_s。
wstrcpy ( wszCaptureFile, L"Capture.avi" );
答案 3 :(得分:-4)
您希望将字符串转换为WCHAR元素而不是WCHAR数组。 尝试:
wszCaptureFile = L"Capture.avi\0";