Como recuperar bytes de arquivo em um array de caracteres em C
Para ler bytes de arquivo em um array de caracteres sem usar getline(), considere usando ifstream::read(). Siga estas etapas:
Abra o arquivo:
std::ifstream infile("C:\\MyFile.csv");
Obter comprimento do arquivo:
infile.seekg(0, std::ios::end);
size_t length = infile.tellg();
infile.seekg(0, std::ios::beg);
Garantir o tamanho do buffer:
if (length > sizeof (buffer)) {
length = sizeof (buffer);
}
Leia o arquivo:
infile.read(buffer, length);
Notas adicionais:
Abordagem atualizada (2019):
Para considerar possíveis erros durante a leitura, considere a seguinte abordagem:
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
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3