前提・実現したいこと
C++/CLIでWindowsフォームアプリケーションの作成をしています。
comboboxで指定した値をsavedata.datに保存して、プログラムを再起動したさいその値を呼び出すようなプログラムを作りました。
Releaseモードで作成した実行可能ファイルを実行すると問題なくプログラムが動くのですが、デバッグの開始をすると
ハンドルされない例外が 0x00007FFC0C99CA78 (ucrtbase.dll) で発生しました(USPx64_3.exe 内): 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。
fopen``fread``fclose
の使い方が間違っているのかと思いますが解決策がわかりません。
何か解決策、アドバイスがあれば教えていただきたいです。
該当のソースコード
#include <iostream> #include <time.h> #include <fstream> #include <vector> #include "yolo_v2_class.hpp" #include "opencv2\opencv.hpp" #include "pxcsensemanager.h" #include "PXCProjection.h" #include "aufd_v.1.3.h" using namespace cv; using namespace std; //カラー画像(処理用、保存用) Mat src, dst; //座標変換インスタンス PXCProjection *projection = nullptr; const PXCCapture::Sample *sample; PXCSenseManager *senseManager = 0; //デプス画像の距離情報格納バッファ vector<unsigned short> depthBuffer; //カラー画像の幅、高さ、解像度 const int COLOR_WIDTH = 640; const int COLOR_HEIGHT = 480; const int COLOR_FPS = 30; ~~~~省略~~~~~ //物体検出オブジェクトの作成 Detector detector("yolov2-obj.cfg", "yolov2-obj_23000.weights"); namespace UI { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// USP の概要 /// </summary> ~~~~~~省略~~~~~~~ #pragma endregion //初期化 private: System::Void USP_Load(System::Object^ sender, System::EventArgs^ e) { // SenseManagerを生成する senseManager = PXCSenseManager::CreateInstance(); if (senseManager == 0) { throw std::runtime_error("SenseManagerの生成に失敗しました"); } ~~~~~~~~~省略~~~~ //タイマーの初期化 timer1->Interval = 33; timer1->Enabled = true; //設定値の呼び出し FILE *fp; SaveData Data; fp = fopen("savedata.dat", "rb"); fread(&Data, sizeof(Data), 1, fp); fclose(fp); Frequency = Data.F; Time = Data.T; comboBox1->SelectedIndex = Frequency/10; comboBox2->SelectedIndex = Time - 1; } //実行 private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) { //描画 captureImage(); //設定値の反映 Int32::TryParse(comboBox1->SelectedItem->ToString(), Frequency); Int32::TryParse(comboBox2->SelectedItem->ToString(), Time); } ~~~~~~~省略~~~~~~~~ //設定値の保存 private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) { FILE *fp; SaveData Data = { Frequency, Time }; fp = fopen("savedata.dat", "wb"); fwrite(&Data, sizeof(Data), 1, fp); fclose(fp); cout << "設定値保存" << endl; } }; }
素人の質問で申し訳ありませんがよろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー