Δημοσιεύτηκε: 16 Αύγ 2011, 15:16
Star_Light έγραψε:η fgets δηλαδη αν ξεπερασεις τα ορια του buff πχ 255+1 που το οριζεις αρχικα... δεν θα βρίσκει τον '\0' απο μονη της... οποτε θα τρεχει συνεχως μεχρι να τον βρει οποτε θα τρεχει αιωνια?! Δεν βάζει δηλαδη στο τελος ενα '\0' απο μονη της στο δοθέν string?
'\0' βάζει εγγυημένα, '\n' όμως δεν βάζει αν ο χρήστης πληκτρολογήσει περισσότερους από 255 χαρακτήρες... το '\n' το συμπεριλαμβάνει (και σταματάει) μόνο αν το πατήσει ο χρήστης πριν συμπληρωθεί το πλήθος-1 των χαρακτήρων, που της το περνάς σαν 2ο όρισμα.
έγραψε:
http://pubs.opengroup.org/onlinepubs/00 ... fgets.html
NAME
fgets - get a string from a stream
SYNOPSIS
#include <stdio.h>
char *fgets(char *restrict s, int n, FILE *restrict stream);
DESCRIPTION
The fgets() function shall read bytes from stream into the array pointed to by s, until n-1 bytes are read, or a <newline> is read and transferred to s, or an end-of-file condition is encountered. The string is then terminated with a null byte.
...