Maison >développement back-end >C++ >Comment lire efficacement tous les octets d'un fichier dans un tableau de caractères en C ?
Étant donné un fichier situé dans "C:MyFile.csv" et un tampon de tableau de caractères de taille 10 000, comment pouvez-vous lire efficacement tous les octets du fichier dans le tampon ?
Considérez l'approche suivante, ce qui est généralement préféré à l'utilisation de getline() dans ce scénario :
<code class="cpp">// Open the file in binary mode to preserve byte-by-byte fidelity std::ifstream infile("C:\MyFile.csv", std::ios_base::binary); // Determine the file's size infile.seekg(0, std::ios::end); size_t file_size = infile.tellg(); infile.seekg(0, std::ios::beg); // Ensure that the buffer is of sufficient size if (file_size > sizeof(buffer)) { // Handle the case where the file exceeds the buffer's capacity } // Read the entire file's contents into the buffer infile.read(buffer, file_size); // Obtain the actual number of bytes read from the file std::streamsize bytes_read = infile.gcount();</code>
Notes supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!