繁体   English   中英

C ++ Win32,未经授权的异常访问违反了编写

[英]C++ Win32, Unhanded exception access violating writing

我有以下代码:

    TCHAR szAppName[] = TEXT("HellowWin");

    TCHAR *trTemp = L" ";
    *trTemp= szAppName[5];

基本上,我在这里正在尝试在szAPPName索引5处分配“值”以替换指针trTemp表示的值,但是我遇到了访问冲突错误。

有任何想法吗?

在下面您可以看到完整的代码:

#include <Windows.h>
#include <stdio.h>
#include "stdafx.h"
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShoe)
{
        TCHAR szAppName[] = TEXT("HellowWin");

        TCHAR *trTemp = L" ";
        *trTemp= szAppName[5];
}
TCHAR *trTemp = L" ";

分配trTemp以指向常量。 该常量将在代码段中的某个位置。 然后尝试覆盖它时,操作系统不喜欢它。

TCHAR trTemp[2]={L' ',L'\0'};

应该看到你的权利。

字符串文字是只读的。 向他们写信是未定义的行为。 将字符串文字分配给指针时,应添加const

const wchar_t *trTemp = L" ";

如果要写入变量,则将其声明为数组,以便保存字符串文字内容的副本,从而可写

wchar_t trTemp[] = L" ";

(请显式使用wchar_t而不是这些宏。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM