0
有一個奇怪的問題轉義字符被列入串
sprintf(tmp, "\"%s\"", filename);
我希望可以將輸出爲
"filename"
而是我得到
\"filename\"
這到底是怎麼回事?
=============================
extern "C" void __export __pascal MyFunc(LPTSTR m_avi, LPTSTR m_mpg)
{
int frameRate = 20;
char szAVI[MAX_PATH], szMPG[MAX_PATH];
#ifdef UNICODE
wcstombs(szAVI, m_avi, _tcslen(m_avi) + 1);
wcstombs(szMPG, m_mpg, _tcslen(m_mpg) + 1);
#else
strcpy(szAVI, m_avi);
strcpy(szMPG, m_mpg);
#endif
//Call to ffmpeg.exe
char cmdline[1000] = "ffmpeg ", tmp[50];
//Overwrite without asking
strcat(cmdline, "-y ");
//Input file
sprintf(tmp, "-i \"%s\" ", szAVI);
strcat(cmdline, tmp);
//Lock output at 20 frames per second
sprintf(tmp, "-r %i ", frameRate);
strcat(cmdline, tmp);
//Output file
sprintf(tmp, "\"%s\"", szMPG);
strcat(cmdline, tmp);
WinExec(cmdline, SW_HIDE);
}
我們可以看到程序的其餘部分,就像http://ideone.com上的內容一樣嗎? – Potatoswatter
是的,這裏沒有足夠的信息來說明。這對我很好:http://ideone.com/EEhxH – bames53
我可能誤解了你在做什麼,但我沒有得到你所得到的。我的輸出是「文件名」。你可以發佈更大的代碼示例嗎? – Stefan