mogbo
Banned
Guten Morgen,
gleich vorne Weg, ich möchte die Welt nicht neu erfinden, war blos ein wenig am rumprobieren:
Logischerweise gibt das Tool am Ende nochmal den vollen Inhalt von s_buffer aus, da write eine vorgefertigte Größe ausgibt, quasi es gibt alles aus wie es soll, nur leider mit den Überbleibseln aus dem vorletzten fread(), was im array nicht überschrieben wurde.
Fällt hier jemand eine sinnvolle Möglichkeit ein, eine '\0' zu setzen um es mit write(1, s_buffer, strlen(s_buffer)) lesen zu können ohne nochmal den ganzen Inhalt anzuhängen?
Ein Tipp reicht mir, will ja was lernen
Gibt es eine Standartfunktion mit der man einen array vollständig nullen kann?
gleich vorne Weg, ich möchte die Welt nicht neu erfinden, war blos ein wenig am rumprobieren:
Code:
#include <stdio.h>
#include <err.h>
#include <unistd.h>
int
main(int argc, char *argv[])
{
if (argc != 2)
err(1, "argc needs 1 extra argument (not more)");
FILE *read_file;
read_file = fopen(argv[1], "r");
char s_buffer[1024];
while (!feof(read_file)) {
fread(s_buffer, sizeof(s_buffer), 1, read_file);
write(1, s_buffer, sizeof(s_buffer));
}
fclose(read_file);
return 0;
}
Fällt hier jemand eine sinnvolle Möglichkeit ein, eine '\0' zu setzen um es mit write(1, s_buffer, strlen(s_buffer)) lesen zu können ohne nochmal den ganzen Inhalt anzuhängen?
Ein Tipp reicht mir, will ja was lernen

Gibt es eine Standartfunktion mit der man einen array vollständig nullen kann?