Programming/C/C++2012.06.01 10:35
[출처 : http://cboard.cprogramming.com/c-programming/109648-fwrite-fread-question.html]

회사 동료가 찾아준 링크에서

bigendian을 littleendian로 바꿨다.


그리고 fwrite랑 동일하게 작동하려면,

else 부분에서 반환되는 값을 size로 나눠야 한다.


static size_t littleendian_fwrite(const void* data, size_t size, size_t count, FILE* stream)

{

uint32_t i = 1;

const char* c = (char*)&i;

int32_t written = 0;

if (!(*c == 0))

return fwrite(data, size, count, stream);

else

{

c=data-1;

while(count-- > 0)

{

c+=size;

for(i=0;i<size;i++)

written+=fwrite(c--,1,1,stream);

}

return written/size;

}

}



저작자 표시 비영리 변경 금지
신고
Posted by nlogn

티스토리 툴바