我想比較我的C程序中的字符串和LPCTSTR。strcmp比較LPCTSTR和字符串
這裏是我到目前爲止已經完成的(代碼已被簡化爲僅什麼問題):
DWORD main(DWORD ac, LPCTSTR *av)
{
DWORD cpt = 1;
while (++i < ac)
{
if (strcmp(av[i], "value"))
printf("1 : OK\n");
else if (strcmp(av[i], _T("value")))
printf("2 : OK\n");
else if (strcmp(av[i], (LPCTSTR)"value"))
printf("3 : OK\n");
}
return EXIT_SUCCESS;
}
當我執行我的程序與第一個參數「價值」,似乎沒有任何的if
已驗證。我嘗試了strcmp
和lstrcmp
,但結果是一樣的。
有人可以告訴我我做錯了嗎?
謝謝。
還要注意,如果定義了UNICODE,即LPCTSTR實際上是'const wchar_t *'(或'unsigned short *')而不是'const char *',那麼你的代碼就不會工作。無論如何,你應該使用Unicode編寫Windows應用程序。 – Rup 2012-03-09 12:34:38