Как получить байты файла в массив символов в C
Чтобы прочитать байты файла в массив символов без использования getline(), рассмотрим используя ifstream::read(). Выполните следующие действия:
Откройте файл:
std::ifstream infile("C:\\MyFile.csv");
Получить длину файла:
infile.seekg(0, std::ios::end);
size_t length = infile.tellg();
infile.seekg(0, std::ios::beg);
Убедитесь в размере буфера:
if (length > sizeof (buffer)) {
length = sizeof (buffer);
}
Прочитать файл:
infile.read(buffer, length);
Дополнительные примечания:
Обновленный подход (2019):
Чтобы учесть потенциальные ошибки во время чтения, рассмотрите следующий подход:
size_t chars_read;
if (!(infile.read(buffer, sizeof(buffer)))) {
if (!infile.eof()) {
// Handle error during reading
}
}
chars_read = infile.gcount(); // Get actual number of bytes read
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3