У меня есть .dat файл с ASCII-символов, как следующая картина:.dat ASCII файл ввода/вывода в C++
Это в основном серия 16-разрядных чисел. Я могу прочитать его, как unsigned short, в моей структуре данных, но я понятия не имею, как сохранить мой unsigned short в том же формате, что и вход. Вот мой текущий код, хотя значение правильное, формат отсутствует. Смотрите следующие картины:
Каждый имеет какие-либо идеи, как я должен сохранить его так же, как формат входного сигнала? Вот моя функция сбережения»
void SavePxlShort(vector<Point3D> &pts, char * fileName)
{
ofstream os(fileName, ios::out);
size_t L = pts.size();
cout << "writing data (pixel as short) with length "<< L << " ......" << endl;
unsigned short pxl;
for (long i = 0; i < L; i++)
{
pxl = Round(pts[i].val());
if (pts[i].val() < USHRT_MAX)
{
os << pxl << endl;
}
else
{
cout << "pixel intensity overflow ushort" << endl;
return;
}
}
os.close();
return;
}
Определение ASCII охватывает только 7 бит, поэтому как вы можете использовать 16-битный блок и отображать его в ASCII? –