从.raw文件读取数据
Reading data from .raw file
我有8位数据的灰度RAW文件,我试图使用简单的程序读取数据:
#include <fstream>
#include <iostream>
using namespace std;
int main(){
char fileName[80] = "TEST.raw";
//char buffer[255];
ifstream fin(fileName);
char ch;
int i = 0;
while (fin.get(ch)){
cout << (unsigned int)ch << " ";
i++;
}
cout << endl;
cout << "i = " << i;
fin.close();
cin >> ch;
}
有些值比某些特定值高,我得到奇怪的输出。当我应该得到这样的东西时:
(...) 34 34 34 36 43 59 88 123 151 166 (...)
我:
(...) 34 34 34 36 43 59 88 123 4294967191 4294967206 (...)
我想这是一个简单的问题,但我不知道如何正确地做。
将ch
变量声明更改为
unsigned char ch;
// ^^^^^^^^
并按照文档中的建议将fin.get(ch)
更改为
while (fin >> ch)
修复此行为。
char
值需要显式地为signed
或unsigned
,当您使用它们作为整数时。所以如果一个值大于126,它被解释为一个负数。转换为unsigned int
的负数将设置这些值的高位。
相关文章:
- C++将文本文件中的数据读取到结构数组中
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 如何将来自文本文件的数据读取到结构的int阵列中
- 如何将不同长度的数据读取到 2D 数组中
- 从TXT文件到C 的结构向量中的数据读取
- 将sqlite原始数据读取到qbyTearray
- 如何将来自输入TXT文件的数据读取到2 C 数组中
- 使用MQQueue将数据读取到缓冲区中时麻烦
- 在 VC++ 中将类数据读取和写入二进制文件
- 将数据从数据读取器终端获取到GUI(QtCreator)
- C 将数据读取到一个结构,但它跳过了我的一个获取线,使该元素空白
- C++将二进制数据读取到结构
- c++我需要将文件中的数据读取到多维数组中,然后用一种数据类型对数组进行排序.怎样
- 对齐数据:速度取决于恒定数据读取的相对采样大小和采样频率
- 如何将文件中的数据读取到数组中
- 如何使用Visual C++应用程序的完整应用程序数据读取Minidump的应用程序数据
- 如何将csv文件数据读取到数组中
- 用C++将格式化的数值数据读取到数组中
- 正在从文件中将数据读取到结构数组中
- 将分离的数据读取到数组结构c++中