问题描述
CString GetCurrentDir(void){ TCHAR sDrive[_MAX_DRIVE]; TCHAR sDir[_MAX_DIR]; TCHAR sFilename[_MAX_FNAME]; TCHAR Filename[_MAX_FNAME]; TCHAR sExt[_MAX_EXT];GetModuleFileName(AfxGetInstanceHandle(),Filename,_MAX_PATH); _tsplitpath(Filename,sDrive,sDir,sFilename,sExt); CString HomeDir(CString(sDrive)+CString(sDir));if (HomeDir.GetAt(HomeDir.GetLength()-1)!=_T(’’))HomeDir+=_T(’’); return HomeDir;}这个方法是什么意思 char path[256]; sprintf(path, '%splaylist1.txt', GetCurrentDir());//又是什么意思 result = AddWindowEx(iCom, iAddress, iSchedule, 0, 0, 128, 32, path); if (!result)AfxMessageBox('设置播放数据playlist1.txt失败');
问题解答
回答1:CString GetCurrentDir(void);
返回一个类型为CString的变量(估计是个字符串),表示当前目录的路径。
sprintf(path, '%splaylist1.txt', GetCurrentDir());
把GetCurrentDir()返回的字符串(即当前目录的路径)和playlist1.txt拼接在一起,然后把拼接好的字符串赋值给path变量。
回答2:sprintf是格式化字符串函数。
sprintf(path, '%splaylist1.txt', GetCurrentDir());回答3:
不是很明白吗?getcurrentdirectory
回答4:整体看来风格不大好,特别这个写法有点怕怕:
sprintf(path, '%splaylist1.txt', GetCurrentDir());

