C++ C++;输入类出错(变量周围的堆栈已损坏。)

C++ C++;输入类出错(变量周围的堆栈已损坏。),c++,C++,我有错误“变量'inp1L'周围的堆栈已损坏。” 这是一段代码 INPUT inp1L[4]; memset(inp1L, 0, sizeof(INPUT)); inp1L[0].type = INPUT_KEYBOARD; inp1L[1].type = INPUT_KEYBOARD; inp1L[2].type = INPUT_KEYBOARD; inp1L[3].type = INPUT_KEYBOARD; inp1L[0].ki.d

我有错误“变量'inp1L'周围的堆栈已损坏。”

这是一段代码

    INPUT inp1L[4];
    memset(inp1L, 0, sizeof(INPUT));
    inp1L[0].type = INPUT_KEYBOARD;
    inp1L[1].type = INPUT_KEYBOARD;
    inp1L[2].type = INPUT_KEYBOARD;
    inp1L[3].type = INPUT_KEYBOARD;
    inp1L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1L[0].ki.wScan = DIK_LEFTARROW;
    inp1L[1].ki.wScan = DIK_1;
    inp1L[2].ki.wScan = DIK_LEFTARROW;
    inp1L[3].ki.wScan = DIK_1;
我将非常感谢你的帮助

upd

完整代码:

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <dinput.h>

int main()
{
    INPUT inp1[2];
    memset(inp1, 0, sizeof(INPUT));
    inp1[0].type = INPUT_KEYBOARD;
    inp1[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1[1] = inp1[0];
    inp1[1].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1[0].ki.wScan = inp1[1].ki.wScan = DIK_1;

    INPUT inp1L[4];
    memset(inp1L, 0, sizeof(INPUT));
    inp1L[0].type = INPUT_KEYBOARD;
    inp1L[1].type = INPUT_KEYBOARD;
    inp1L[2].type = INPUT_KEYBOARD;
    inp1L[3].type = INPUT_KEYBOARD;
    inp1L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1L[0].ki.wScan = DIK_LEFTARROW;
    inp1L[1].ki.wScan = DIK_1;
    inp1L[2].ki.wScan = DIK_LEFTARROW;
    inp1L[3].ki.wScan = DIK_1;

        INPUT inp1LD[6];
        memset(inp1LD, 0, sizeof(INPUT));
        inp1LD[0].type = INPUT_KEYBOARD;
        inp1LD[1].type = INPUT_KEYBOARD;
        inp1LD[2].type = INPUT_KEYBOARD;
        inp1LD[3].type = INPUT_KEYBOARD;
        inp1LD[4].type = INPUT_KEYBOARD;
        inp1LD[5].type = INPUT_KEYBOARD;
        inp1LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1LD[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1LD[0].ki.wScan = DIK_LEFTARROW;
        inp1LD[1].ki.wScan = DIK_DOWNARROW;
        inp1LD[2].ki.wScan = DIK_1;
        inp1LD[3].ki.wScan = DIK_LEFTARROW;
        inp1LD[4].ki.wScan = DIK_DOWNARROW;
        inp1LD[5].ki.wScan = DIK_1;

            INPUT inp1LDR[8];
            memset(inp1LDR, 0, sizeof(INPUT));
            inp1LD[0].type = INPUT_KEYBOARD;
            inp1LD[1].type = INPUT_KEYBOARD;
            inp1LD[2].type = INPUT_KEYBOARD;
            inp1LD[3].type = INPUT_KEYBOARD;
            inp1LD[4].type = INPUT_KEYBOARD;
            inp1LD[5].type = INPUT_KEYBOARD;
            inp1LD[6].type = INPUT_KEYBOARD;
            inp1LD[7].type = INPUT_KEYBOARD;
            inp1LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp1LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp1LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp1LD[3].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp1LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp1LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp1LD[6].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp1LD[7].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp1LD[0].ki.wScan = DIK_LEFTARROW;
            inp1LD[1].ki.wScan = DIK_DOWNARROW;
            inp1LD[2].ki.wScan = DIK_RIGHTARROW;
            inp1LD[3].ki.wScan = DIK_1;
            inp1LD[4].ki.wScan = DIK_LEFTARROW;
            inp1LD[5].ki.wScan = DIK_DOWNARROW;
            inp1LD[6].ki.wScan = DIK_RIGHTARROW;
            inp1LD[7].ki.wScan = DIK_1;

        INPUT inp1LR[6];
        memset(inp1LR, 0, sizeof(INPUT));
        inp1LR[0].type = INPUT_KEYBOARD;
        inp1LR[1].type = INPUT_KEYBOARD;
        inp1LR[2].type = INPUT_KEYBOARD;
        inp1LR[3].type = INPUT_KEYBOARD;
        inp1LR[4].type = INPUT_KEYBOARD;
        inp1LR[5].type = INPUT_KEYBOARD;
        inp1LR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1LR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1LR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1LR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1LR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1LR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1LR[0].ki.wScan = DIK_LEFTARROW;
        inp1LR[1].ki.wScan = DIK_RIGHTARROW;
        inp1LR[2].ki.wScan = DIK_1;
        inp1LR[3].ki.wScan = DIK_LEFTARROW;
        inp1LR[4].ki.wScan = DIK_RIGHTARROW;
        inp1LR[5].ki.wScan = DIK_1;

    INPUT inp1D[4];
    memset(inp1D, 0, sizeof(INPUT));
    inp1D[0].type = INPUT_KEYBOARD;
    inp1D[1].type = INPUT_KEYBOARD;
    inp1D[2].type = INPUT_KEYBOARD;
    inp1D[3].type = INPUT_KEYBOARD;
    inp1D[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1D[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1D[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1D[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1D[0].ki.wScan = DIK_DOWNARROW;
    inp1D[1].ki.wScan = DIK_1;
    inp1D[2].ki.wScan = DIK_DOWNARROW;
    inp1D[3].ki.wScan = DIK_1;

        INPUT inp1DR[6];
        memset(inp1DR, 0, sizeof(INPUT));
        inp1DR[0].type = INPUT_KEYBOARD;
        inp1DR[1].type = INPUT_KEYBOARD;
        inp1DR[2].type = INPUT_KEYBOARD;
        inp1DR[3].type = INPUT_KEYBOARD;
        inp1DR[4].type = INPUT_KEYBOARD;
        inp1DR[5].type = INPUT_KEYBOARD;
        inp1DR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1DR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1DR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp1DR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1DR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1DR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp1DR[0].ki.wScan = DIK_DOWNARROW;
        inp1DR[1].ki.wScan = DIK_RIGHTARROW;
        inp1DR[2].ki.wScan = DIK_1;
        inp1DR[3].ki.wScan = DIK_DOWNARROW;
        inp1DR[4].ki.wScan = DIK_RIGHTARROW;
        inp1DR[5].ki.wScan = DIK_1;

    INPUT inp1R[4];
    memset(inp1R, 0, sizeof(INPUT));
    inp1R[0].type = INPUT_KEYBOARD;
    inp1R[1].type = INPUT_KEYBOARD;
    inp1R[2].type = INPUT_KEYBOARD;
    inp1R[3].type = INPUT_KEYBOARD;
    inp1R[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1R[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp1R[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1R[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp1R[0].ki.wScan = DIK_RIGHTARROW;
    inp1R[1].ki.wScan = DIK_1;
    inp1R[2].ki.wScan = DIK_RIGHTARROW;
    inp1R[3].ki.wScan = DIK_1;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    INPUT inp2[2];
    memset(inp2, 0, sizeof(INPUT));
    inp2[0].type = INPUT_KEYBOARD;
    inp2[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2[1] = inp2[0];
    inp2[1].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2[0].ki.wScan = inp2[1].ki.wScan = DIK_2;

    INPUT inp2L[4];
    memset(inp2L, 0, sizeof(INPUT));
    inp2L[0].type = INPUT_KEYBOARD;
    inp2L[1].type = INPUT_KEYBOARD;
    inp2L[2].type = INPUT_KEYBOARD;
    inp2L[3].type = INPUT_KEYBOARD;
    inp2L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2L[0].ki.wScan = DIK_LEFTARROW;
    inp2L[1].ki.wScan = DIK_2;
    inp2L[2].ki.wScan = DIK_LEFTARROW;
    inp2L[3].ki.wScan = DIK_2;

        INPUT inp2LD[6];
        memset(inp2LD, 0, sizeof(INPUT));
        inp2LD[0].type = INPUT_KEYBOARD;
        inp2LD[1].type = INPUT_KEYBOARD;
        inp2LD[2].type = INPUT_KEYBOARD;
        inp2LD[3].type = INPUT_KEYBOARD;
        inp2LD[4].type = INPUT_KEYBOARD;
        inp2LD[5].type = INPUT_KEYBOARD;
        inp2LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2LD[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2LD[0].ki.wScan = DIK_LEFTARROW;
        inp2LD[1].ki.wScan = DIK_DOWNARROW;
        inp2LD[2].ki.wScan = DIK_2;
        inp2LD[3].ki.wScan = DIK_LEFTARROW;
        inp2LD[4].ki.wScan = DIK_DOWNARROW;
        inp2LD[5].ki.wScan = DIK_2;

            INPUT inp2LDR[8];
            memset(inp2LDR, 0, sizeof(INPUT));
            inp2LDR[0].type = INPUT_KEYBOARD;
            inp2LDR[1].type = INPUT_KEYBOARD;
            inp2LDR[2].type = INPUT_KEYBOARD;
            inp2LDR[3].type = INPUT_KEYBOARD;
            inp2LDR[4].type = INPUT_KEYBOARD;
            inp2LDR[5].type = INPUT_KEYBOARD;
            inp2LDR[6].type = INPUT_KEYBOARD;
            inp2LDR[7].type = INPUT_KEYBOARD;
            inp2LDR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp2LDR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp2LDR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp2LDR[3].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp2LDR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp2LDR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp2LDR[6].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp2LDR[7].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp2LDR[0].ki.wScan = DIK_LEFTARROW;
            inp2LDR[1].ki.wScan = DIK_DOWNARROW;
            inp2LDR[2].ki.wScan = DIK_RIGHTARROW;
            inp2LDR[3].ki.wScan = DIK_2;
            inp2LDR[4].ki.wScan = DIK_LEFTARROW;
            inp2LDR[5].ki.wScan = DIK_DOWNARROW;
            inp2LDR[6].ki.wScan = DIK_RIGHTARROW;
            inp2LDR[7].ki.wScan = DIK_2;

        INPUT inp2LR[6];
        memset(inp2LR, 0, sizeof(INPUT));
        inp2LR[0].type = INPUT_KEYBOARD;
        inp2LR[1].type = INPUT_KEYBOARD;
        inp2LR[2].type = INPUT_KEYBOARD;
        inp2LR[3].type = INPUT_KEYBOARD;
        inp2LR[4].type = INPUT_KEYBOARD;
        inp2LR[5].type = INPUT_KEYBOARD;
        inp2LR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2LR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2LR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2LR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2LR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2LR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2LR[0].ki.wScan = DIK_LEFTARROW;
        inp2LR[1].ki.wScan = DIK_RIGHTARROW;
        inp2LR[2].ki.wScan = DIK_2;
        inp2LR[3].ki.wScan = DIK_LEFTARROW;
        inp2LR[4].ki.wScan = DIK_RIGHTARROW;
        inp2LR[5].ki.wScan = DIK_2;

    INPUT inp2D[4];
    memset(inp2D, 0, sizeof(INPUT));
    inp2D[0].type = INPUT_KEYBOARD;
    inp2D[1].type = INPUT_KEYBOARD;
    inp2D[2].type = INPUT_KEYBOARD;
    inp2D[3].type = INPUT_KEYBOARD;
    inp2D[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2D[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2D[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2D[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2D[0].ki.wScan = DIK_DOWNARROW;
    inp2D[1].ki.wScan = DIK_2;
    inp2D[2].ki.wScan = DIK_DOWNARROW;
    inp2D[3].ki.wScan = DIK_2;

        INPUT inp2DR[6];
        memset(inp2DR, 0, sizeof(INPUT));
        inp2DR[0].type = INPUT_KEYBOARD;
        inp2DR[1].type = INPUT_KEYBOARD;
        inp2DR[2].type = INPUT_KEYBOARD;
        inp2DR[3].type = INPUT_KEYBOARD;
        inp2DR[4].type = INPUT_KEYBOARD;
        inp2DR[5].type = INPUT_KEYBOARD;
        inp2DR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2DR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2DR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp2DR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2DR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2DR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp2DR[0].ki.wScan = DIK_DOWNARROW;
        inp2DR[1].ki.wScan = DIK_RIGHTARROW;
        inp2DR[2].ki.wScan = DIK_2;
        inp2DR[3].ki.wScan = DIK_DOWNARROW;
        inp2DR[4].ki.wScan = DIK_RIGHTARROW;
        inp2DR[5].ki.wScan = DIK_2;

    INPUT inp2R[4];
    memset(inp2R, 0, sizeof(INPUT));
    inp2R[0].type = INPUT_KEYBOARD;
    inp2R[1].type = INPUT_KEYBOARD;
    inp2R[2].type = INPUT_KEYBOARD;
    inp2R[3].type = INPUT_KEYBOARD;
    inp2R[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2R[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp2R[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2R[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp2R[0].ki.wScan = DIK_RIGHTARROW;
    inp2R[1].ki.wScan = DIK_2;
    inp2R[2].ki.wScan = DIK_RIGHTARROW;
    inp2R[3].ki.wScan = DIK_2;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    INPUT inp3[2];
    memset(inp3, 0, sizeof(INPUT));
    inp3[0].type = INPUT_KEYBOARD;
    inp3[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3[1] = inp3[0];
    inp3[1].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3[0].ki.wScan = inp3[1].ki.wScan = DIK_3;

    INPUT inp3L[4];
    memset(inp3L, 0, sizeof(INPUT));
    inp3L[0].type = INPUT_KEYBOARD;
    inp3L[1].type = INPUT_KEYBOARD;
    inp3L[2].type = INPUT_KEYBOARD;
    inp3L[3].type = INPUT_KEYBOARD;
    inp3L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3L[0].ki.wScan = DIK_LEFTARROW;
    inp3L[1].ki.wScan = DIK_3;
    inp3L[2].ki.wScan = DIK_LEFTARROW;
    inp3L[3].ki.wScan = DIK_3;

    INPUT inp3LD[6];
        memset(inp3LD, 0, sizeof(INPUT));
        inp3LD[0].type = INPUT_KEYBOARD;
        inp3LD[1].type = INPUT_KEYBOARD;
        inp3LD[2].type = INPUT_KEYBOARD;
        inp3LD[3].type = INPUT_KEYBOARD;
        inp3LD[4].type = INPUT_KEYBOARD;
        inp3LD[5].type = INPUT_KEYBOARD;
        inp3LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3LD[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3LD[0].ki.wScan = DIK_LEFTARROW;
        inp3LD[1].ki.wScan = DIK_DOWNARROW;
        inp3LD[2].ki.wScan = DIK_3;
        inp3LD[3].ki.wScan = DIK_LEFTARROW;
        inp3LD[4].ki.wScan = DIK_DOWNARROW;
        inp3LD[5].ki.wScan = DIK_3;

            INPUT inp3LDR[8];
            memset(inp3LDR, 0, sizeof(INPUT));
            inp3LDR[0].type = INPUT_KEYBOARD;
            inp3LDR[1].type = INPUT_KEYBOARD;
            inp3LDR[2].type = INPUT_KEYBOARD;
            inp3LDR[3].type = INPUT_KEYBOARD;
            inp3LDR[4].type = INPUT_KEYBOARD;
            inp3LDR[5].type = INPUT_KEYBOARD;
            inp3LDR[6].type = INPUT_KEYBOARD;
            inp3LDR[7].type = INPUT_KEYBOARD;
            inp3LDR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp3LDR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp3LDR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp3LDR[3].ki.dwFlags = KEYEVENTF_SCANCODE;
            inp3LDR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp3LDR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp3LDR[6].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp3LDR[7].ki.dwFlags |= KEYEVENTF_KEYUP;
            inp3LDR[0].ki.wScan = DIK_LEFTARROW;
            inp3LDR[1].ki.wScan = DIK_DOWNARROW;
            inp3LDR[2].ki.wScan = DIK_RIGHTARROW;
            inp3LDR[3].ki.wScan = DIK_3;
            inp3LDR[4].ki.wScan = DIK_LEFTARROW;
            inp3LDR[5].ki.wScan = DIK_DOWNARROW;
            inp3LDR[6].ki.wScan = DIK_RIGHTARROW;
            inp3LDR[7].ki.wScan = DIK_3;

        INPUT inp3LR[6];
        memset(inp3LR, 0, sizeof(INPUT));
        inp3LR[0].type = INPUT_KEYBOARD;
        inp3LR[1].type = INPUT_KEYBOARD;
        inp3LR[2].type = INPUT_KEYBOARD;
        inp3LR[3].type = INPUT_KEYBOARD;
        inp3LR[4].type = INPUT_KEYBOARD;
        inp3LR[5].type = INPUT_KEYBOARD;
        inp3LR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3LR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3LR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3LR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3LR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3LR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3LR[0].ki.wScan = DIK_LEFTARROW;
        inp3LR[1].ki.wScan = DIK_RIGHTARROW;
        inp3LR[2].ki.wScan = DIK_3;
        inp3LR[3].ki.wScan = DIK_LEFTARROW;
        inp3LR[4].ki.wScan = DIK_RIGHTARROW;
        inp3LR[5].ki.wScan = DIK_3;

    INPUT inp3D[4];
    memset(inp3D, 0, sizeof(INPUT));
    inp3D[0].type = INPUT_KEYBOARD;
    inp3D[1].type = INPUT_KEYBOARD;
    inp3D[2].type = INPUT_KEYBOARD;
    inp3D[3].type = INPUT_KEYBOARD;
    inp3D[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3D[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3D[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3D[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3D[0].ki.wScan = DIK_DOWNARROW;
    inp3D[1].ki.wScan = DIK_3;
    inp3D[2].ki.wScan = DIK_DOWNARROW;
    inp3D[3].ki.wScan = DIK_3;

        INPUT inp3DR[6];
        memset(inp3DR, 0, sizeof(INPUT));
        inp3DR[0].type = INPUT_KEYBOARD;
        inp3DR[1].type = INPUT_KEYBOARD;
        inp3DR[2].type = INPUT_KEYBOARD;
        inp3DR[3].type = INPUT_KEYBOARD;
        inp3DR[4].type = INPUT_KEYBOARD;
        inp3DR[5].type = INPUT_KEYBOARD;
        inp3DR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3DR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3DR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
        inp3DR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3DR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3DR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
        inp3DR[0].ki.wScan = DIK_DOWNARROW;
        inp3DR[1].ki.wScan = DIK_RIGHTARROW;
        inp3DR[2].ki.wScan = DIK_3;
        inp3DR[3].ki.wScan = DIK_DOWNARROW;
        inp3DR[4].ki.wScan = DIK_RIGHTARROW;
        inp3DR[5].ki.wScan = DIK_3;

    INPUT inp3R[4];
    memset(inp3R, 0, sizeof(INPUT));
    inp3R[0].type = INPUT_KEYBOARD;
    inp3R[1].type = INPUT_KEYBOARD;
    inp3R[2].type = INPUT_KEYBOARD;
    inp3R[3].type = INPUT_KEYBOARD;
    inp3R[0].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3R[1].ki.dwFlags = KEYEVENTF_SCANCODE;
    inp3R[2].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3R[3].ki.dwFlags |= KEYEVENTF_KEYUP;
    inp3R[0].ki.wScan = DIK_RIGHTARROW;
    inp3R[1].ki.wScan = DIK_3;
    inp3R[2].ki.wScan = DIK_RIGHTARROW;
    inp3R[3].ki.wScan = DIK_3;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    printf("Waiting for input...");
    _getch();
    printf("\nStart in 5 seconds");
    Sleep(1000);



   SendInput(2, inp1, sizeof(INPUT));
   Sleep(250);
   SendInput(2, inp2, sizeof(INPUT));
   Sleep(250);
   SendInput(2, inp3, sizeof(INPUT));
   Sleep(250);
   SendInput(2, inp3, sizeof(INPUT));
   Sleep(250);
   SendInput(2, inp3, sizeof(INPUT));
   Sleep(250);
   SendInput(2, inp2, sizeof(INPUT));
   Sleep(250);
   SendInput(2, inp1, sizeof(INPUT));
   Sleep(500);

inp1LD>inp1LDR(都是因为注意力不集中)

如果使用memset,则必须计算所设置的字节数。例如:

INPUT inp1LDR[8];    
memset(inp1LDR, 0, 8*sizeof(INPUT));
否则,只有数组的第一个元素将被初始化为零值


有了它,您可以使用位操作,如
|=

如果您使用memset,您必须对设置的字节数进行计算。例如:

INPUT inp1LDR[8];    
memset(inp1LDR, 0, 8*sizeof(INPUT));
否则,只有数组的第一个元素将被初始化为零值


有了它,您可以使用位操作,如
|=

您只设置inp1L的有效条目,而这不在损坏堆栈的代码段中。无论如何,
|=
会产生一个未定义的行为,因为您对未初始化的值执行此操作,请执行
=
而不是
=
,该错误消息只会给出损坏的大致内存位置。哦,好的,谢谢您的评论。我可以发布完整的代码,但你不会喜欢它,因为它又大又丑。但我会尝试xdI changed |=to=,他仍然发誓,但感谢您为
inp1LD
而不是
inp1dr
分配的建议。可能还有其他问题。编写此代码的更好方法是通过初始化器列表初始化数组。您只设置inp1L的有效项,而不是在损坏堆栈的代码段中。无论如何,
|=
会产生一个未定义的行为,因为您对未初始化的值执行此操作,请执行
=
而不是
=
,该错误消息只会给出损坏的大致内存位置。哦,好的,谢谢您的评论。我可以发布完整的代码,但你不会喜欢它,因为它又大又丑。但我会尝试xdI changed |=to=,他仍然发誓,但感谢您为
inp1LD
而不是
inp1dr
分配的建议。可能还有其他问题。编写此代码的更好方法是通过初始化器列表初始化数组。有更好的方法。我已经考虑过了,但没有人说什么,我认为这没有特别影响,但非常感谢您的建议)好吧,如果您向我们展示结构,我可以给您更多提示。您可以完全避免使用成员集,使用初始值设定项列表以获得更优雅的效果。C++11有很多很好的方法可以更方便地实现这一点。有更好的方法可以实现这一点。我已经考虑过了,但没有人说什么,我认为这没有特别影响,但非常感谢你的建议)好吧,如果你向我们展示结构,我可以给你更多的提示。您可以完全避免使用成员集,使用初始值设定项列表以获得更优雅的效果。C++11有很多很好的方法可以更方便地实现这一点。