Files
rk35xx-android14/external/openscreen/testing/util/read_file.cc
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

35 lines
830 B
C++

// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "testing/util/read_file.h"
#include <stdio.h>
namespace openscreen {
std::string ReadEntireFileToString(absl::string_view filename) {
FILE* file = fopen(filename.data(), "r");
if (file == nullptr) {
return {};
}
fseek(file, 0, SEEK_END);
long file_size = ftell(file);
fseek(file, 0, SEEK_SET);
std::string contents(file_size, 0);
int bytes_read = 0;
while (bytes_read < file_size) {
size_t ret = fread(&contents[bytes_read], 1, file_size - bytes_read, file);
if (ret == 0 && ferror(file)) {
return {};
} else {
bytes_read += ret;
}
}
fclose(file);
return contents;
}
} // namespace openscreen