나는 내가 datas 바이너리 파일의 청크에 저장하고, 내가 발견 실험을 통해 내 지식을 알고, 바이너리 파일에 조금 혼란 스러워요 그 우리는이 같은 멤버 변수와 구조체가 있다면 :바이너리 파일의 청크 (알 수없는 크기)를 읽는 방법은 무엇입니까?
struct student{
int Roll_No;
char Name[10];
}
을 그런 다음 내용으로 변수를 업데이트하고 바이너리 파일에 저장하면 바이너리 파일은 14 바이트, char는 10 바이트, int는 4 바이트가됩니다. 따라서 파일을 분석하면 hex_itor에서 파일의 Roll_no가 4 바이트로 예약되고 10 바이트는 채워진 내용이 채워지는 이름이고 다른 것은 파일에서 점으로 보일 수 있습니다. 위와 같이 struct/class로 프로그램을 만들고 내용을 파일에 저장하면 파일의 크기는 우리가 만든 구조체와 같아서 int의 4 개와 char의 10 개를 의미합니다. 예를 들어 새로운 이미지 형식을 만든 경우 내 지식에서. (도트) .MyIMG는 stucture의 내 프로그램에서/클래스처럼이
struct MyIMG{
char Header[5];
int width, height;
int Pixels[124000];
}
그런 크기의 새 파일을 만듭니다 내 프로그램 49,613 바이트 또는 49 Kigabytes (헤더의 5, + (플러스) 8하는 int 픽셀의 + (+) 4 × 124000), 픽셀이 4, 8, 100 또는 무엇이든 상관없이 픽셀 배열이 비어있는 모든 픽셀을 작성하므로이 효과가 큰 MSpaint, Adobe Photoshop과 같은 소프트웨어, 빈 배열이 아닌 여관에 저장된 파일에 따라 파일을 쓰도록 프로그램을 만드는 것 ...
편집 : 이제 내 질문을 편집하고 명확하게 정의했습니다. 내 질문, pls 도와주세요, 사전에 감사합니다 !!
도트는 "무효"를 의미하지 않으며 "인쇄 할 수없는 문자"를 의미합니다. –
그것은 ... 모두 한 문장입니까? – etheranger
16 진수 편집기는 파일의 16 진수 값의 한면과 ascii로 다른 한면을 보여 주므로 아무 것도 인쇄 할 수없는 ASCII 문자이기 때문에 C++의보기로 메모리에 읽은 후 (예 : 변수 .Char) 문자열은 자동으로 종료됩니다. 문자열은 끝났지 만, 청크 크기의 파일을 어떻게 처리합니까? – Rishabh