ありがとうございます。ありがとうございます。ありがとうございます。ありがとうございます。ありがとうございます。\n");sentaku=1;Sleep(3*100);}}}}}if(GetAsyncKeyState(VK_RETURN)&&item==4){printf("ご来店ありがとうございました。*nakamaM1[]={"ばなな","1","0","100","100"};//bの値によってフィールド、ボス、店の選択画面でループ。{gotoxy(1,20);printf("新しいセーブデータを作成しました<%s>",filename);Sleep(10*50);}else{gotoxy(1,20);printf("新しいセーブデータの作成に失敗しました。製作者を呼んでください。*fp1=fopen("セーブデータ.txt","w");if(fp1==NULL){printf("失敗しちゃったテヘ、画面を削除し、製作者を呼んでください。n)しか無いようです。C++は関数のオーバーロードに対応しており、同じ名前でも引数の型が違う関数は違う関数とみなされます。n);の定義を作成し、コンパイル(・アセンブル)・リンク対象に加えるといいでしょう。1年前コードをよく読むと、そんな単純な話ではないかもしれません。関数呼び出しの構造はmain→rupu→field→MazeDraw→sentoとなっています。このうち、rupu関数とfield関数は引数としてchar*型のデータを受け取り、MazeDraw関数は引数としてchar型のデータを受け取ります。main関数ではrupu関数にマルチバイト文字を含む文字列へのポインタを渡しています。rupu関数ではこのポインタをそのままfield関数に渡し、field関数ではこのマルチバイト文字の1バイト目をMazeDraw関数に渡しています。表示のため、文字列全体、もしくは文字列へのポインタの配列全体を渡したいと推測でき、マルチバイト文字の1バイト目のみを渡すというのはおかしいでしょう。環境によっては強制終了してしまうでしょう。printfの書式%dや%cにchar型へのポインタを渡している部分もあり、これも未定義動作になります。現状のsento関数の定義に合わせて渡している引数の一部をchar型へのポインタの配列にするsento関数を適切に修正するでしょう。HPやMPを文字列ではなく整数型で管理するなど、より適切な実装への修正も考えられるでしょう。1年前>みけCATさん詳しい解説ありがとうございます。1年前printfの書式%dや%cにchar型へのポインタを渡している部分もあり、これも未定義動作になります。ここは理解できました。;}ですがこのうち、rupu関数とfield関数は引数としてchar*型のデータを受け取り、MazeDraw関数は引数としてchar型のデータを受け取ります。main関数ではrupu関数にマルチバイト文字を含む文字列へのポインタを渡しています。rupu関数ではこのポインタをそのままfield関数に渡し、field関数ではこのマルチバイト文字の1バイト目をMazeDraw関数に渡しています。表示のため、文字列全体、もしくは文字列へのポインタの配列全体を渡したいと推測でき、マルチバイト文字の1バイト目のみを渡すというのはおかしいでしょう。文字列リテラルの書き換えおよび未初期化のポインタのデリファレンス(いずれも未定義動作)を含み、1バイトだけ送っているというのもわかりましたがその他の部分が僕の脳ではいまいち理解できません。後継でそれが使えると書いてありました。学校で使われるみたいですね。CSCpadを使いました。いろんな言語に使えるようですね。1年前もう一度確認します。OSはWindows10でしょうか。1年前cpadはバージョンは書いてません。サンプルをダウンロードして実行しました。Makefileヘッダファイルの理解が必要です。わかりにくいところがあったら聞いてください。作者の言葉(^^;好きな言葉:「本当に自分を大切にする人は、他人をおろそかになんかしない。他人が自分にとって如何に大切であるかを知っているから。当面はこちらからダウンロードしてください。http://ameblo.jp/mratassyu/手提鞄屋魚有店(てさげかばんやうおありてん)レスがついていないものを優先して、レスしています。時々、見当外れなレスをします。)プログラムを教わったのですか?まずここなどを読んで基本から勉強し直す必要があります。してできるのかな?そんなの見たことないね。学校の先生に確認してください。使う普通の方法を想定しています。ミクプラは自由にリンクできます。