Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从cpp中的raw12文件中获取输入?我尝试以二进制模式打开它,而不是使用getline和display,但没有成功? 我有一个RAW-12文件,我想一次输入12位,然后在C++中转换成8位。 这就是我接受意见的方式 int main() { string s; fstream f ("pagan.raw12", std::ios::binary|std::ios::in); if (!f) std::cout<<"\n oops!! file does not exit"; else std::cout<<"\n ready to go!!" std::cin.ignore(); getline(cin,s); std::cout<<s; f.close(); return 0; } intmain() { 字符串s; fstream f(“pagan.raw12”,std::ios::binary | std::ios::in); 如果(!f) std::cout_C++_C++11_C++14_File Handling - Fatal编程技术网

如何从cpp中的raw12文件中获取输入?我尝试以二进制模式打开它,而不是使用getline和display,但没有成功? 我有一个RAW-12文件,我想一次输入12位,然后在C++中转换成8位。 这就是我接受意见的方式 int main() { string s; fstream f ("pagan.raw12", std::ios::binary|std::ios::in); if (!f) std::cout<<"\n oops!! file does not exit"; else std::cout<<"\n ready to go!!" std::cin.ignore(); getline(cin,s); std::cout<<s; f.close(); return 0; } intmain() { 字符串s; fstream f(“pagan.raw12”,std::ios::binary | std::ios::in); 如果(!f) std::cout

如何从cpp中的raw12文件中获取输入?我尝试以二进制模式打开它,而不是使用getline和display,但没有成功? 我有一个RAW-12文件,我想一次输入12位,然后在C++中转换成8位。 这就是我接受意见的方式 int main() { string s; fstream f ("pagan.raw12", std::ios::binary|std::ios::in); if (!f) std::cout<<"\n oops!! file does not exit"; else std::cout<<"\n ready to go!!" std::cin.ignore(); getline(cin,s); std::cout<<s; f.close(); return 0; } intmain() { 字符串s; fstream f(“pagan.raw12”,std::ios::binary | std::ios::in); 如果(!f) std::cout,c++,c++11,c++14,file-handling,C++,C++11,C++14,File Handling,您可以像这样从流中读取3个字节: unsigned char buf[3]; f.read(reinterpret_cast<char*>(buf), 3); 1.这里的任何人都不太可能知道“raw-12”文件是什么。2.getline不会处理定义上不以换行符分隔的二进制数据。我猜您会一次读取3个字节(24位),然后将其拆分为2个12位的样本,并将每个样本存储在自己的无符号短(16位)中。此处读取特定字节数的示例…您是否有以字节为单位的文件大小?您知道它所代表的图像的尺寸吗?图像

您可以像这样从流中读取3个字节:

unsigned char buf[3];

f.read(reinterpret_cast<char*>(buf), 3);

1.这里的任何人都不太可能知道“raw-12”文件是什么。2.getline不会处理定义上不以换行符分隔的二进制数据。我猜您会一次读取3个字节(24位),然后将其拆分为2个12位的样本,并将每个样本存储在自己的无符号短(16位)中。此处读取特定字节数的示例…您是否有以字节为单位的文件大小?您知道它所代表的图像的尺寸吗?图像是否需要反拜耳处理,或者您希望自己进行反拜耳处理?您是否有要测试的示例文件?
a0 =  b[0];
a1 = (b[1] & 0xf) << 4) | ((b[2] >> 4) & 0xf);