C++ 比较嵌套for循环中的两个wchar数组?

C++ 比较嵌套for循环中的两个wchar数组?,c++,arrays,compare,wchar,C++,Arrays,Compare,Wchar,希望有人能帮我解决这个问题 我对C++和编程很有新意. 我有两个不同的数组第一个是a-z的字母表 第二个是一个整数数组,其中填充了表示a-z的虚拟键码 这些函数接受一个常量wchar*作为进入stringstream的参数 从这里输入一个名为buffer的数组,然后尝试比较buffer[0]和字母[0],如果相等,则用其中一个键码模拟按键,然后比较字符串中的下一个字母并继续。。 我不明白为什么这不起作用哈哈 有没有更简单的解决办法 unsigned short KeyCodes[26]

希望有人能帮我解决这个问题 我对C++和编程很有新意.

我有两个不同的数组第一个是a-z的字母表 第二个是一个整数数组,其中填充了表示a-z的虚拟键码

这些函数接受一个常量wchar*作为进入stringstream的参数 从这里输入一个名为buffer的数组,然后尝试比较buffer[0]和字母[0],如果相等,则用其中一个键码模拟按键,然后比较字符串中的下一个字母并继续。。 我不明白为什么这不起作用哈哈

有没有更简单的解决办法

    unsigned short KeyCodes[26] = { 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A };
wchar_t Letter[27] = L"abcdefghijklmnopqrstuvwxyz";

void WriteSimulator(const wchar_t* String)
{
    wchar_t Buffer[256];
    ss << String;
    ss >> Buffer;

    for (int a = 0; a < wcslen(Buffer); a++)
    {
        for (int b = 0; b < 27; b++)
        {
              /*Here is what i did wrong!
                Comparing as strings instead of just char.*/ 
            if (wcscmp(&Buffer[a], &Letter[b]) == 0)
            {
                KeyPress(KeyCodes[b], false);
                break;
            }
        }
    }

}
//did write this from memory so it may be something missing...
unsigned short KeyCodes[26]={0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A、0x4B、0x4C、0x4D、0x4E、0x4F、0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A};
字母[27]=L“abcdefghijklmnopqrstuvwxyz”;
void WriteSimulator(常量wchar\u t*字符串)
{
wchar_t缓冲区[256];
ss>Buffer;
对于(int a=0;a
//解决方案!
void WriteSimulator(常量wchar\u t*字符串)
{
wchar_t缓冲区[256];
ss>Buffer;
对于(int a=0;a
首先,您的代码中没有变量
ss
的定义!但是,假设这只是一个输入错误,那么代码的真正问题是:

if (wcscmp(&Buffer[a], &Letter[b]) == 0)
比较从
缓冲区[a]
字母[b]
开始的字符串

要仅比较每个位置上单个字符的实际值,请使用:

if (Buffer[a] == Letter[b])

希望这有帮助。

是的,ss已声明,但此处不可见。。与==运算符比较解决了我的问题!我已经在某种程度上尝试过了,但那一次一定是做错了别的事情,因为我记得有人告诉我,你不能用这种方式比较人物!谢谢+代表
if (Buffer[a] == Letter[b])