[英]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.