我很困惑。我正在尝试创建一个存储.PGM文件值的ascii文本文件。
我可以正常读取文件,标题位于ascii中,并且读取完美。
但问题是,我需要读取16字节标题之后的所有内容ascii并将其输出为文本文件,例如:
0 235 23 02 255
等。这不是二进制表示,它看起来类似于:
ÐHHb{{
所以这是我的基本读取文件的代码:
void readTxt(char * fileName){
std::ifstream inFile(fileName);
unsigned int * cData = 0;
int rows = 1943;
int cols = 1365;
try{
if(inFile.is_open()){
cData = new unsigned int[rows*cols];
int i = 0;
while(inFile.good()){
if(i > rows*cols -1) break;
inFile >> cData[i]; i++;
}
}
else throw "Could not open file\n";
std::cout <<"done\n";
inFile.close();
}
catch(const char * e){ std::cout << "Err"; }
delete[] cData;
}
但我完全难过了。我该如何处理数据?我不确定,但我认为它存储为带空格的字符,
那么如何确定将char [3] =“255”称为int?或者只是char [0] =“0”是一个int。 它们有不同的长度。啊,我很困惑。讨厌听起来像新手,但我不想浪费时间!
由于