c/c++ 바이너리 데이터 함수를 반복적으로 쓰고 싶습니다. 제가 사용한 코드에서 잘못된 점 알려주세요 고수님들

조회수 679회

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
const unsigned long long size = 8ULL* 1024ULL * 1024ULL;
unsigned long long a[size];

int main()
{
    FILE* pFile;
    pFile = fopen("file.binary", "wb");
    for (unsigned long long j = 0; j < 1048576; j++) {
        a[j] = 0xCC;
    }
    for (unsigned long long j = 0; j < 1048576; j++) {
        //Some calculations to fill a[]
        fwrite(a, 1, sizeof(a), pFile);
    }
    fclose(pFile);
    return 0;
}

이 코드를 돌리면 11001100 코드가 뜬 후에 00000000이 7번 반복 후 11001100코드가 뜨고 00000000이 다시 7번 반복됩니다.

이 00000000에도 11001100으로 입력하고 싶은데 어느 부분이 잘못 된거지 알 수 있을까요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 자료형이 64bit이기 때문에 11001100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 이렇게 저장되는게 아닐까요? 11001100이라면 1바이트로 표현되니, unsigned long long을 unsigned char로 바꿔보세요. 알 수 없는 사용자 2018.9.28 15:34

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)