質問: newp; } return p; } ``` ### 試したこと windows上では成功したのですが... ### 補足情報(言語/FW/ツール等のバージョンなど) 読み込むファイルの内容に問題はなかったです
回答: 質問の回答をいただいていませんが、予想で回答しておきます。 おそらくWindowsとMacでそれぞれファイルを作って、それを読み込ませているものと思われます。 そしてそのファイルの中身は、nameは全角で6文字、もしくはprofileが全角で22文字のデータが存在しているのではないでしょうか。 そしておそらくWindowsで作ったファイルの文字コードはSJISで、MacのはUNICODE(種類は不明)なのではないでしょうか。 SJISは全角2バイトなので提示のコードにある領域で足りるのですが、UNICODEの場合、全角は2バイトとは限らず3バイトや4バイトなどが存在します。 つまり読み込むための領域が足りず、バッファオーバーランをした結果、アボートしているのではないかと推測しました。 解決するには、単純に十分な領域を確保するようにしてください。 > > そもそもAbort trapとは何なのか教えて欲しいです! > > > ちょうど過去の質問に回答されている方がいたので引用しておきます。 | たとえば「バッファ・オーバーラン」のようなプログラムの不正動作からシステムを保護するために、 | システムがそのプログラムを強制終了させた結果、発生しているエラーです。