|
windowsのプログラミングで、ファイルのコピーを作る物です。
for文の の抜ける条件を教えてください
lpCmdLineにファイル名を渡します。
1回目for文で、a.txtを渡すと、 a.txt0 となり
2回目何も渡さなくても param2++で、1なので
if (*(lpCmdLine + param2) == ' ') break;
の条件にあてはまらないので、永久ループするんですか?
また以下の文は何を行っているんでしょうか?
*(lpCmdLine + param2) = 0;
param2++;
教えてください。
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,
PSTR lpCmdLine , int nCmdShow) {
int param2;
for (param2 = 0 ; *(lpCmdLine + param2) ; param2++)
if (*(lpCmdLine + param2) == ' ') break;
*(lpCmdLine + param2) = 0;
param2++;
if (!CopyFile(lpCmdLine , lpCmdLine + param2 , TRUE))
MessageBox( NULL , TEXT("ファイルをコピーできません) ,
NULL , MB_OK
);
return 0;
}
|