strcpy_s 例外のスロー
Posted: 2017年9月28日(木) 11:47
strcpy_sの動作を確認しようと思い、以下のソースを組んでコンパイルしたのですが、見事にstrcpy_sの部分で「ブレークポイントが発生しました。」と出て動作が停止してしまいます。
どうか知恵を貸していただけると幸いです。
自分としては、入力された文字を名前として取得し、名前、HP、MPを出力する、といった動作を行って呉れる予定でした。
while.h while.cpp
myState.h
myState.cpp
main.cpp
どうか知恵を貸していただけると幸いです。
自分としては、入力された文字を名前として取得し、名前、HP、MPを出力する、といった動作を行って呉れる予定でした。
while.h while.cpp
#include <DxLib.h>
#include "while.h"
int loop_flag() {
if (CheckHitKey(KEY_INPUT_ESCAPE) != 0) return 0;
return 1;
}
#pragma once
class superstate {
private:
char name[128];
int HP;
int MP;
public:
void setState(char*, int, int);
void Draw();
};
#include <DxLib.h>
#include "myState.h"
#include <String>
void superstate::setState(char* myName, int myHp, int myMp) {
strcpy_s(name, sizeof(name), myName);
HP = myHp;
MP = myMp;
}
void superstate::Draw() {
DrawFormatString(200, 200, GetColor(255, 255, 255), "your name:%s\nHP:%d\nMP:%d", name, HP, MP);
}
#include <DxLib.h>
#include "while.h"
#include "myState.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
ChangeWindowMode(TRUE); // ウィンドウモード
if (DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK) != 0) return -1;//初期化と裏画面化
SetMouseDispFlag(TRUE);
superstate tanaka;
char* N = NULL;
KeyInputString(50, 50, 128, N, false);
tanaka.setState(N, 10, 5000);
tanaka.Draw();
while (loop_flag());
DxLib_End(); // DXライブラリの終了
return 0;
}