Вот мое решение, не используя strrev. Записанный в C#, но это будет работать на любом языке, который имеет функцию длины строки.
private static bool Pal(string s) {
for (int i = 0; i < s.Length; i++) {
if (s[i] != s[s.Length - 1 - i]) {
return false;
}
}
return true;
}
Немного поздно, но я брошу это там.
Если вы хотите ДЕЙСТВИТЕЛЬНО определить конкретную причину, по которой учетная запись не проходит аутентификацию (существует гораздо больше причин, кроме неправильного пароля, истечения срока действия, блокировки и т. Д.), Вы можете использовать Windows API LogonUser. Не пугайтесь этого - это проще, чем кажется. Вы просто вызываете LogonUser, и если это не удается, вы смотрите на Marshal.GetLastWin32Error (), который выдаст вам код возврата, который указывает (очень) конкретную причину неудачного входа в систему.
Однако вы не собираетесь этого делать. возможность вызвать это в контексте пользователя, которого вы аутентифицируете; вам понадобится привилегированная учетная запись - я считаю, что требуется SE_TCB_NAME (также известная как SeTcbPrivilege) - учетная запись пользователя, которая имеет право «действовать как часть операционной системы»
Я немного опоздал в эту тему - но я хотел бы проголосовать за Vrapper. Раньше я работал с IDE WindRiver Workbench и привык к "слою Vim", с которым она поставлялась. WRW вставлял кнопку переключения Vim в панель инструментов, которая позволяла пользователю активировать/деактивировать почти все стандартные привязки клавиш Vim.
Когда я вернулся к ванильному Eclipse, я потратил довольно много времени, пытаясь найти эту же функцию, и в конце концов пришел к выводу, что WindRiver написал эту функцию с нуля, потому что ее не существовало. Сегодня я нашел Vrapper, который вставляет очень похожий тумблер в мою панель инструментов Eclipse и, похоже, имеет довольно полный набор привязок клавиш Vim. Два приятных момента: (1) Vrapper также можно активировать нажатием клавиши, как и любую другую функцию Eclipse, (2) Vrapper не деактивирует контекстную справку, всплывающую при наведении курсора.
Я также голосую за Vrapper ( http://vrapper.sourceforge.net/home ). Я только что снова начал использовать Eclipse/CDT для некоторого кодирования на C, и поскольку Vrapper просто эмулирует команды vi в редакторе рабочей среды Eclipse (вместо встраивания VIM внутрь eclipse), похоже, он меньше изменяет другие функции Eclipse IDE. С vrapper в моих файлах меньше непреднамеренных h,j,k,l,/,? и разрывы строк, которые в противном случае возникают, потому что мои пальцы забывают, что они не в vi. В Vrapper нет всех команд vi, которые мне нужны, но это большое улучшение по сравнению с редактором Eclipse без Vrapper. Будет еще лучше, если они добавят некоторые из запланированных «будущих функций», особенно поддержку регулярных выражений.