가 나는 바이너리 있다고 내 파일을 나열하고 내 구조체에서에 fwrite FUNC와 쓰기 기능 썼다 : 그것은 한 번 내 모든 파일에 대한 인쇄fseek가 작동하지 않는 이유는 무엇입니까?
void ReadFile::printList(){
clearerr(bookFilePtr);
fseek(bookFilePtr,0L,SEEK_SET); // set to begin of file
int counter = 1;
cout << "***************************************************" << endl;
struct book tmp ;
while (!feof(bookFilePtr)){
fread(bookPtrObj,sizeof(struct book),1,bookFilePtr);
cout << bookPtrObj->name << "s1"<< endl;
cout << bookPtrObj->publisher << "s2"<< endl;
cout << bookPtrObj->author << "s3" <<endl;
cout << bookPtrObj->stock << endl;
cout << bookPtrObj->translation << endl;
cout << bookPtrObj->trasnlator << "s4" <<endl;
cout << bookPtrObj->delayDays << endl;
cout << bookPtrObj->delayPay << endl;
cout << "***************************************************" << endl;
fseek(bookFilePtr,counter * sizeof(struct book) ,SEEK_SET); // seek to next data
counter ++;
}
을,하지만 내 루프에서 종료하지 않았다. 내 func는 file.How에서 마지막 데이터를 인쇄하여 내 func을 종료하고 파일 끝까지 확인합니까? fseek는 작동합니까?
왜 귀찮게 찾으십니까? 당신은 이미'sizeof (struct book)'바이트만큼 파일 포인터를 옮겼습니다. 어쨌든 각 호출마다'fread '결과를 확인해야하지만, 그건 별개의 문제입니다. –