내가 다음 줄을 사용하여 파일에 구조를 쓰고에서 바이너리 데이터를 읽어이진 파일
typedef struct _rawData rawDataStruct;
지금에 구조를 작성 후 파일을 사용하여 이진 파일의 시작 부분에서 구조를 읽는 중입니다.
std::cout << "going for print data read from file\n";
snif::fileHandler.seekg(0); //, std::ios::beg);
snif::fileHandler.read(reinterpret_cast<char*>(rawData), sizeof(rawDataStruct));
if (snif::fileHandler.fail()) {
std::cerr << "reading error\n";
exit(0);
}
std::cout << "PSH flag = " << rawData->tcpFlag.PSH << std::endl
<< "source port " << rawData->sourcePort << std::endl
<< "destination port " << rawData->destinationPort << std::endl
<< " sequence number " << rawData->sequenceNumber << std::endl
<< " Acknowledge number " << rawData->acknowledgeNumber << std::endl
<< " acknowledge flag " << rawData->tcpFlag.ACK << std::endl
<< " SYN flag " << rawData->tcpFlag.SYN << std::endl
<< "FIN flag " << rawData->tcpFlag.FIN << std::endl;
하지만 난 내 표준 출력을 선택하면 마지막 줄이 인쇄에 geting입니다
"going for print data read from file";
읽기 전에 'snif :: fileHandler'가 (예 :'.fail()'을 사용하여) 읽는 것이 좋은지 확인 했습니까? open이 실패하면 프로그램이 stdin (파일 설명자 0)에서 읽으려고합니다. – Thomas