
エラー Run-Time Check Failure #2 - Stack around the variable 'ps' was corrupted.
締切済
- 気になる
- 1
- 件
- 質問日時:
- 回答数:3件
五目並べのプログラムを作っているのですが、
下記2のサブルーチンを出る時に
下記1のようなランタイムエラーが
どうしても出てしまいます。
原因が分からなく自分の力ではどうにもできないので、
どなたかアドバイスよろしくお願い致します。
記1
Run-Time Check Failure #2 - Stack around the variable 'ps' was corrupted.
記2
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
int id, x, y;
static int nTe = 0;
PAINTSTRUCT ps;
HDC hdc;
char szBuf[64], szSashite[16];
static HMENU hMenu;
switch (msg) {
case WM_CREATE:
hMenu = GetMenu(hWnd);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
MyMakeBan(hdc);
MyStoneDraw(hdc);
if (bSente)
strcpy_s(szSashite, "先手●");
else
strcpy_s(szSashite, "後手○");
wsprintf((LPWSTR)szBuf, TEXT("差し手 = %s"), szSashite);
TextOut(hdc, 30, SHUI + KANKAKU * 14 + 30, (LPCWSTR)szBuf, strlen(szBuf));
wsprintf((LPWSTR)szBuf, TEXT("第 %02d 手終了 現在 %02d 手目待ち"), nTe, nTe + 1);
TextOut(hdc, 30, SHUI + KANKAKU * 14 + 50, (LPCWSTR)szBuf, strlen(szBuf));
EndPaint(hWnd, &ps);
break;
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
wsprintf()のどちらかでバッファオーバーフローして、
めでたくpsを破壊されたようです。
デバッグ版でよかったですね…。
リリース版にすればランタイムチェックは走らないでしょう。
# 鼻から悪魔が出てきても文句言えませんが。
現実的な解決策は既に出ていますので。
No.2
- 回答日時:
文字列の種類を
char
wchar_t
TCHAR
のどれかに統一したほうがいいでしょう
char szBuf[64], szSashite[16];
を
TCHAR szBuf[64], szSashite[16];
に
strcpy_s
を
_tcscpy_s
に
strlen
を
_tcslen
など
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ウィンドウサイズを変更しても...
-
ボタンの色(WINAPI)
-
Win32APIでウィンドウを中央に...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
-
VB6.0での小数点の扱いについて
-
【C++】関数ポインタの使い方
-
c languageで 簡単な質問があ...
-
ある商品のロス率を5%見込み、...
-
既定のコンストラクタがありま...
-
CTabCtrl:TABインデックス単位...
-
charと%c , %s の関係について
-
ExcelでPC(パソコン)によって...
-
数学 一次関数 関数 y=-3/4x+k(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エディットボックスの背景の色...
-
エラー Run-Time Check Failur...
-
Win32APIでウィンドウを中央に...
-
ウィンドウサイズを変更しても...
-
音量調節
-
1~1000,1001~2000の間に素数が...
-
この列挙体でsysjanの関数はあ...
-
子ウインドウの作成と破棄について
-
Win32のファイルダイアログのサ...
-
ウィンドウ非表示に時に表示し...
-
COMPORTマルチスレッドで例外発生
-
ボタンの色(WINAPI)
-
マウスの反応
-
ポップアップメニュー
-
C言語win32api、エディットボッ...
-
ウィンドウが表示されない
-
WM_CREATE について
-
c言語のプログラミングでキーボ...
-
C++のcase文の書き方
-
LoadImageとSetCursorについて
おすすめ情報