Я хотел сохранить аргументы, которые были переданы моей программе из командной строки, а затем переслать их в функцию, для которой все строки должны иметь формат данных wchar_t. В следующей программе я прокомментировал функцию и использую printf для тестирования программы, но следующая функция не работает. Где проблема:
int main(int argc, TCHAR* argv[])
{
TCHAR* cp_UserName[MAX_PATH];
TCHAR* cp_DomainName[MAX_PATH];
TCHAR* cp_HashNtlm[MAX_PATH];
TCHAR* cp_ComputerName[MAX_PATH];
DnPthIconSetup();
DnPthInitialization(TRUE);
int counter = argc;
if (argc > 4)
{
for (size_t i = 1; i < argc; i++)
{
if (!_tcsnccmp(argv[i], L"user:", 5))
{
*cp_UserName = _tcschr(argv[i], L':') + 1;
}
if (!_tcsnccmp(argv[i], L"domain:", 7))
{
*cp_DomainName = _tcschr(argv[i], L':') + 1;
}
if (!_tcsnccmp(argv[i], L"pc:", 3))
{
*cp_ComputerName = _tcschr(argv[i], L':') + 1;
}
if (!_tcsnccmp(argv[i], L"ntlm:", 5))
{
*cp_HashNtlm = _tcschr(argv[i], L':') + 1;
}
}
wprintf("%s\n", *cp_UserName);
wprintf("%s\n", *cp_DomainName);
wprintf("%s\n", *cp_ComputerName);
wprintf("%s\n", *cp_HashNtlm);
system("PAUSE");
// ParametricCredentialDispatcher(cp_UserName, cp_DomainName, cp_HashNtlm, cp_ComputerName);
}
else if (argc == 1)
{
InteractiveMode();
}
else
{
printf("\nUsage: ./program user:[] domain:[] pc:[] ntlm:[]\n");
system("PAUSE");
}
return 0;
}