//判断是否为回文——判断用户输入的字符串是否为回文。回文是指正反拼写形式都是一样的词,譬如“racecar”。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
bool IsPlalindromeW(const wchar_t* str)
{
size_t len = wcslen(str);
for (int i = 0; i < len; ++i)
{
if (str[i] != str[len - i - 1])
return false;
}
return true;
}
bool IsPlalindrome(const char* str)
{
if (str == NULL)
return false;
setlocale(LC_ALL, "chs");
int len = mbstowcs(NULL, str, NULL);
if (len <= 0)
return false;
wchar_t* dst = new wchar_t[len + 1];
int change = mbstowcs(dst, str, len + 1);
bool bRes = IsPlalindromeW(dst);
delete[] dst;
setlocale(LC_ALL, "");
return bRes;
}
int main(int argc, char* argv[])
{
char* str = "斗鸡山上山鸡斗";
cout << boolalpha;
cout << IsPlalindrome(str) << endl;
system("pause");
return 0;
}