struct ID3v2_header{
char tag[3];
char ver[2];
char flag;
int size;
};
ID3v2_header readID3v2_head(string file){
char buf[10];
ifstream infile(file.c_str(),ios::binary);
ID3v2_header head;
if(!infile || !infile.read(buf, 10)){
cout<<"FAIL"<<endl;
infile.close();
return head;
}
memcpy(&head,buf,10);
infile.close();
return head;
}
나는 방금 크기를 출력하고 달릴 때마다 바뀝니다. 어딘가에서 넘치고 있습니까?정수는 매 달리기마다 파일에서 읽습니까? 그 이유는 무엇입니까?
그가 말한 내용. 또한, 동일한 설정으로 동일한 컴파일러를 사용하여 동일한 구조로 파일을 작성 했습니까? –
돌아가서 [귀하의 다른 질문] (http://stackoverflow.com/questions/9696308/why-is-the-size-of-this-struct-12-and-not-10)에 대한 답변을 읽어야합니다. . – Blastfurnace