當我嘗試在C++中編寫犰狳字段對象並讀取它時,它運行良好。示例代碼是:難以閱讀犰狳字段數據結構
//write the data to signal.bin file
ofstream outfile;
outfile.open("signal.bin", ios::binary | ios::out);
//CLASS_NUM is the size of field, signal is the data need to save;
outfile.write((char*)&CLASS_NUM, sizeof(int)); // sizeof can take a type
outfile.write((char*)&signal, sizeof(field<mat>));
outfile.close();
//read the saved data
ifstream inFile("signal.bin", ios::binary);
int K;
inFile.read(reinterpret_cast< char* >(&K), sizeof(int));
field<mat> Input_Signal(K, 1);
inFile.read(reinterpret_cast< char* >(&Input_Signal), sizeof(field<mat>));
inFile.close();
我通過輸出數據來檢查它們是否匹配。然而,當我註釋掉寫入部件中的代碼,這意味着我有一個signal.bin文件,我需要讀它(該代碼的第二部分),
//read the saved data
ifstream inFile("signal.bin", ios::binary);
int K;
inFile.read(reinterpret_cast< char* >(&K), sizeof(int));
cout << K << endl;
field<mat> Input_Signal(K, 1);
inFile.read(reinterpret_cast< char* >(&Input_Signal), sizeof(field<mat>));
inFile.close();
cout << Input_signal;
然後我有一個像輸出:
1
[field column 0]
Segmentation fault: 11
1場的尺寸,所以我知道它可以從文件中讀取,那麼爲什麼我不能讀取保存在該領域的矩陣?
謝謝你的建議@Joachim,我會讀你推薦的主題。 –