프로그래밍/코드 조각
c++, istream으로 읽은 개수 반환 gcount
제페
2019. 1. 19. 12:21
반응형
readsome이 아니다.
auto MakeHash(std::istream& is)
{
std::array<unsigned char, SHA256_DIGEST_LENGTH> fileHash;
SHA256_CTX ctx;
SHA256_Init(&ctx);
char buf[512]{ 0, };
while (is.good())
{
is.read(buf, sizeof(buf));
const int cnt = is.gcount();
SHA256_Update(&ctx, buf, cnt);
}
SHA256_Final(fileHash.data(), &ctx);
return fileHash;
}
gcount는 마지막으로 읽어난 엘리먼트의 개수를 반환한다.
반응형