c++ - 如何在文件uchar中输出?
问题描述
我有unsigned char[128] = {0xFF, 0xBE,...0x99} 的数组;. 并需要将其输出到.txt或.bin文件。但是我尝试过的所有功能都只能与const char*一起使用。那么,我应该使用什么来输出 uchar[]?
我试过 fstream 和 QFile。
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
static uchar headerFile[128] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //1
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //2
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //3
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //4
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //5
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //6
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, //7
0xFF, 0xFF, 0x47, 0x01, 0x84, 0x75, 0x00, 0x00, 0x39, 0xC2, 0x3A, 0xBE, 0xC3, 0x72, 0xC4, 0x71,}; //8
int main()
{
QFile out("D:/DataOutput.bin");
if( out.open( QIODevice::WriteOnly ) ) {
out.write(&headerFile[0],128);
}
}
UPD:删除循环。
解决方案
这应该有效:
if (out.open(QIODevice::WriteOnly)) {
out.write(reinterpret_cast<const char*>(&headerFile[0]), 128);
}
推荐阅读
- javascript - Django admin list_display 在鼠标悬停时显示全文
- python - 如何使用决策树中的 feature_importances_ 删除所有非零重要特征?
- regex - 使用 grep 的 bash 中的正则表达式
- arrays - 为什么这段代码不起作用?尝试使用 kotlin 在双数组中连续查找 4 个相等的值
- sql - 带有连接的 Oracle SQL 更新列
- c++ - c++中unordered_map的高效笛卡尔积
- python - 没有得到预期的输出?
- mysql - 从包含该列的所有表中删除一列
- python - Python Nympy 中图形的邻接矩阵
- javascript - 如何将 JavaScript 转换为 JQuery?