Probleme mit fread () geben immer 1 zurück

Ich habe ähnliche Fragen angeschaut, aber meine sind etwas anders. Ich stelle sicher, dass ich die Datei im Binärmodus öffne und prüfe, ob beim Lesen ein Fehler auftritt.

Dateiinhalt:

message1, message2, 53467

Programm zum Lesen einer einfachen Datei:

int bytesRead;
FILE* CSV;
CSV = fopen("\\Temp\\csv.txt", "rb");
char dataBuf[128];

while ( (bytesRead = fread(dataBuf, 1, sizeof(dataBuf), CSV) > 0) )
{
        if (ferror(CSV))
            //handle error

        //do stuff with dataBuf contents
}

fread () gibt immer 1 zurück. ferror wird ebenfalls nicht eingegeben, daher kein Fehler beim Lesen der Datei. Das char-Array dataBuf wird jedoch mit der gesamten Nachricht aus der Datei gefüllt. Ich benutze fread in Verbindung mit einer anderen Funktion, also muss ich wissen, wie viele Bytes mit fread () gelesen wurden. Irgendwelche Ideen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage