1年前cpadはバージョンは書いてません。ウインドウズ7ですあと学校指定ですcpadはバージョンは書いてません。1年前もう一度確認します。OSはWindows10でしょうか。使える訳ないだろ!もう一度確認します。OSはWindows10でしょうか。学校で使われるみたいですね。CSCpadを使いました。いろんな言語に使えるようですね。学校で使われるみたいですね。CSCpadを使いました。いろんな言語に使えるようですね。後継でそれが使えると書いてありました。後継でそれが使えると書いてありました。1年前printfの書式%dや%cにchar型へのポインタを渡している部分もあり、これも未定義動作になります。ここは理解できました。;}ですがこのうち、rupu関数とfield関数は引数としてchar*型のデータを受け取り、MazeDraw関数は引数としてchar型のデータを受け取ります。main関数ではrupu関数にマルチバイト文字を含む文字列へのポインタを渡しています。rupu関数ではこのポインタをそのままfield関数に渡し、field関数ではこのマルチバイト文字の1バイト目をMazeDraw関数に渡しています。表示のため、文字列全体、もしくは文字列へのポインタの配列全体を渡したいと推測でき、マルチバイト文字の1バイト目のみを渡すというのはおかしいでしょう。文字列リテラルの書き換えおよび未初期化のポインタのデリファレンス(いずれも未定義動作)を含み、1バイトだけ送っているというのもわかりましたがその他の部分が僕の脳ではいまいち理解できません。printfの書式%dや%cにchar型へのポインタを渡している部分もあり、これも未定義動作になります。ここは理解できました。;}[/code]ですがこのうち、rupu関数とfield関数は引数としてchar*型のデータを受け取り、MazeDraw関数は引数としてchar型のデータを受け取ります。main関数ではrupu関数にマルチバイト文字を含む文字列へのポインタを渡しています。rupu関数ではこのポインタをそのままfield関数に渡し、field関数ではこのマルチバイト文字の1バイト目をMazeDraw関数に渡しています。表示のため、文字列全体、もしくは文字列へのポインタの配列全体を渡したいと推測でき、マルチバイト文字の1バイト目のみを渡すというのはおかしいでしょう。文字列リテラルの書き換えおよび未初期化のポインタのデリファレンス(いずれも未定義動作)を含み、1バイトだけ送っているというのもわかりましたがその他の部分が僕の脳ではいまいち理解できません。1年前>みけCATさん詳しい解説ありがとうございます。試してみます!>みけCATさん詳しい解説ありがとうございます。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を文字列ではなく整数型で管理するなど、より適切な実装への修正も考えられるでしょう。コードをよく読むと、そんな単純な話ではないかもしれません。関数呼び出しの構造は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関数を適切に修正する[/list]でしょう。HPやMPを文字列ではなく整数型で管理するなど、より適切な実装への修正も考えられるでしょう。n)しか無いようです。C++は関数のオーバーロードに対応しており、同じ名前でも引数の型が違う関数は違う関数とみなされます。n);の定義を作成し、コンパイル(・アセンブル)・リンク対象に加えるといいでしょう。n)[/code]しか無いようです。C++は関数のオーバーロードに対応しており、同じ名前でも引数の型が違う関数は違う関数とみなされます。n);[/code]の定義を作成し、コンパイル(・アセンブル)・リンク対象に加えるといいでしょう。*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("失敗しちゃったテヘ、画面を削除し、製作者を呼んでください。*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");sentaku=1;Sleep(3*100);}}}}}if(GetAsyncKeyState(VK_RETURN)&&item==4){printf("ご来店ありがとうございました。ありがとうございます。ありがとうございます。ありがとうございます。ありがとうございます。ありがとうございます。\n");sentaku=1;Sleep(3*100);}}}}}if(GetAsyncKeyState(VK_RETURN)&&item==4){printf("ご来店ありがとうございました。未解決」とでてつながりません。したらつながりますか?コードはこれです。MazeKind{PATH=0,WALL,PL,KUSA,YABE,MODORU,START};//迷路の種類//1は進めない。