C++ Win32,未处理的异常访问冲突编写
C++ Win32, Unhanded exception access violating writing
我有以下代码:
TCHAR szAppName[] = TEXT("HellowWin");
TCHAR *trTemp = L" ";
*trTemp= szAppName[5];
基本上我在这里做的是尝试在 szAPPName
的索引 5 处分配 "value" 来替换指针 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
指向一个常量。该常量将位于代码段中的某处。当您随后尝试覆盖它时,O/S 不喜欢它。
TCHAR trTemp[2]={L' ',L'[=11=]'};
应该能看到你吧
字符串文字是只读的。写给他们是未定义的行为。当您将字符串文字分配给指针时,您应该添加 const
.
const wchar_t *trTemp = L" ";
如果要写入变量,将其声明为数组,以便它保存字符串文字内容的副本,因此可写
wchar_t trTemp[] = L" ";
(请明确使用 wchar_t
而不是那些宏。)
我有以下代码:
TCHAR szAppName[] = TEXT("HellowWin");
TCHAR *trTemp = L" ";
*trTemp= szAppName[5];
基本上我在这里做的是尝试在 szAPPName
的索引 5 处分配 "value" 来替换指针 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
指向一个常量。该常量将位于代码段中的某处。当您随后尝试覆盖它时,O/S 不喜欢它。
TCHAR trTemp[2]={L' ',L'[=11=]'};
应该能看到你吧
字符串文字是只读的。写给他们是未定义的行为。当您将字符串文字分配给指针时,您应该添加 const
.
const wchar_t *trTemp = L" ";
如果要写入变量,将其声明为数组,以便它保存字符串文字内容的副本,因此可写
wchar_t trTemp[] = L" ";
(请明确使用 wchar_t
而不是那些宏。)