So rufen Sie Dateibytes in ein Char-Array in C ab
So lesen Sie Dateibytes in ein char-Array ohne getline() ein mit ifstream::read(). Befolgen Sie diese Schritte:
Öffnen Sie die Datei:
<code class="cpp">std::ifstream infile("C:\MyFile.csv");</code>
Ermitteln Sie die Dateilänge:
<code class="cpp">infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg);</code>
Puffergröße sicherstellen:
<code class="cpp">if (length > sizeof (buffer)) { length = sizeof (buffer); }</code>
Datei lesen:
<code class="cpp">infile.read(buffer, length);</code>
Zusätzliche Hinweise:
Aktualisierter Ansatz (2019):
Um mögliche Fehler beim Lesen zu berücksichtigen, sollten Sie den folgenden Ansatz in Betracht ziehen:
<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>
Das obige ist der detaillierte Inhalt vonWie lese ich Dateibytes in ein Char-Array in C ohne getline()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!