Maison > Article > développement back-end > Comment lire des octets de fichier dans un tableau de caractères en C sans getline() ?
Comment récupérer des octets de fichier dans un tableau de caractères en C
Pour lire des octets de fichier dans un tableau de caractères sans utiliser getline(), pensez en utilisant ifstream::read(). Suivez ces étapes :
Ouvrez le fichier :
<code class="cpp">std::ifstream infile("C:\MyFile.csv");</code>
Obtenez la longueur du fichier :
<code class="cpp">infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg);</code>
Assurer la taille du tampon :
<code class="cpp">if (length > sizeof (buffer)) { length = sizeof (buffer); }</code>
Lire le fichier :
<code class="cpp">infile.read(buffer, length);</code>
Notes supplémentaires :
Approche mise à jour (2019) :
Pour tenir compte des erreurs potentielles lors de la lecture, envisagez l'approche suivante :
<code class="cpp">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</code>
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!