fflush() C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

fflush() C

Δημοσίευσηαπό stamatiou » 22 Ιουν 2011, 16:36

Παιδιά, στο tutorial για τους pointer του migf1 έχει τον παρακάτω κώδικα:
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <string.h>

#define MAX_SLEN 100+1

int main( void )
{
char s[MAX_SLEN] = "";
char t[MAX_SLEN] = "";
char yn[MAX_SLEN] = "";

strcpy(s, "12345");
strcpy(t, "678");
printf("s = %s\nt = %s\n\n", s, t);

printf(
"To trexon mhkos toy s=%s einai %d, enw toy t=%s einai %d\n",
s, strlen(s),
t, strlen(t)
);
printf(
"To megisto mhkos toy s=%s einai %d, enw toy t=%s einai %d\n\n",
s, sizeof(s),
t, sizeof(t)
);

if ( strcmp(s,t) < 0 )
strcpy(yn, "Nai");
else
strcpy(yn, "Oxi");
printf("Einai to s=%s mikrotero toy t=%s ? %s\n\n", s, t, yn);

printf("strcat(s,t) = %s\n\n", strcat(s,t) );

printf("s = %s\n\n", s);

printf("pathste ENTER gia termatismo...");
fflush(stdin); getchar();
return 0;
}

Στο τέλος τι σημαίνει αυτό το fflush;
Επίσης ξέρει κανείς καμιά onlne reference για C;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: fflush() C

Δημοσίευσηαπό migf1 » 22 Ιουν 2011, 16:51

Καλησπέρα,

το fflush(stdin) είναι για να καθαρίζει το input buffer της C από τυχόν απομεινάρια που έχουν απομείνει από προηγούμενες συναρτήσεις διαβάσματος (όταν ο χρήστης πληκτρολογεί περισσότερα πράγματα από όσα περιμένει η συνάρτηση διαβάσματος).

Δυστυχώς σε πρόσφατες εκδόσεις του gcc σε περιβάλλον Posix (Unix/Linux) δεν λειτουργεί πια, οπότε είτε το έχει είτε όχι δεν κάνει διαφορά. Σε Windows δουλεύει κανονικά.

Όσο για online reference της γλώσσας θα σου πρότεινα αυτό εδώ: http://www.tutorialspoint.com/ansi_c/c_introduction.htm.

stamatiou έγραψε:Παιδιά, στο tutorial για τους pointer του migf1 έχει τον παρακάτω κώδικα:
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <string.h>

#define MAX_SLEN 100+1

int main( void )
{
char s[MAX_SLEN] = "";
char t[MAX_SLEN] = "";
char yn[MAX_SLEN] = "";

strcpy(s, "12345");
strcpy(t, "678");
printf("s = %s\nt = %s\n\n", s, t);

printf(
"To trexon mhkos toy s=%s einai %d, enw toy t=%s einai %d\n",
s, strlen(s),
t, strlen(t)
);
printf(
"To megisto mhkos toy s=%s einai %d, enw toy t=%s einai %d\n\n",
s, sizeof(s),
t, sizeof(t)
);

if ( strcmp(s,t) < 0 )
strcpy(yn, "Nai");
else
strcpy(yn, "Oxi");
printf("Einai to s=%s mikrotero toy t=%s ? %s\n\n", s, t, yn);

printf("strcat(s,t) = %s\n\n", strcat(s,t) );

printf("s = %s\n\n", s);

printf("pathste ENTER gia termatismo...");
fflush(stdin); getchar();
return 0;
}

Στο τέλος τι σημαίνει αυτό το fflush;
Επίσης ξέρει κανείς καμιά onlne reference για C;
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι