エラー 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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- 飛行機・空港 ミルウォーキーツールHDC大阪から伊丹空港へ乗り換え無しで行く方法はありますか? できれば、空港直通 2 2023/05/12 06:44
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- JavaScript jsで、switch文で書かれた分をif文にできませんか。 1 2022/07/28 15:10
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Run-Time Check Failure #3というエラーが出ます。
C言語・C++・C#
-
Debug Assertion Failed?
C言語・C++・C#
-
Run-Timeエラーの原因に関して教えてください。
C言語・C++・C#
-
-
4
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
5
Expression: nptr != NULL
C言語・C++・C#
-
6
変数の値が勝手に変化する原因
C言語・C++・C#
-
7
スタック破壊の上手な見つけ方を教えてください
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エディットボックスの背景の色...
-
この列挙体でsysjanの関数はあ...
-
画像を表示したいのですが……
-
不明なエラー
-
エラー Run-Time Check Failur...
-
COMPORTマルチスレッドで例外発生
-
子ウインドウの作成と破棄について
-
エディットコントロール入力時...
-
音量調節
-
WM_CREATE について
-
プログラミングでエラーが出ま...
-
Enterキーを押されたら次の処理...
-
fgetsなどのときのstdinのバッ...
-
マイナスからプラスへ転じた時...
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
「an=(n-1)/(n+1)のときlim[n→∞...
-
c言語で、繰り返し文の中で、0....
-
C言語での引数の省略方法
-
正負を反転させて出力するプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Win32APIでウィンドウを中央に...
-
オーバーレイみたいな処理がしたい
-
ダイアログプログラムでEnterキ...
-
キャレットの現在位置の表示 (W...
-
PeekMessageについて
-
ウィンドウ非表示に時に表示し...
-
C#のswitch文を簡略化したいの...
-
C言語win32api、エディットボッ...
-
音量調節
-
LoadImageを使用し、タイトルバ...
-
プログラミングでエラーが出ま...
-
エディットコントロール入力時...
-
ウィンドウハンドルがメッセー...
-
ボタンの色(WINAPI)
-
画像を表示したいのですが……
-
WINAPIでキーから文字列を入力...
-
エラー Run-Time Check Failur...
-
エディットボックスの背景の色...
-
Win32APIでアイコンファイルを...
-
WM_KEYDOWNでPrtScを捕まえる方...
おすすめ情報