Δημοσιεύτηκε: 29 Δεκ 2009, 18:15
από giagiannis
Καλησπέρα και χρόνια πολλά και απο εμένα!!! Έχω μια απορία σχετικά με τη C που μου έχει σπάσει τα νεύρα!!! :? :? :?

Φτιάχνω αυτό το πρόγραμμα:
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>

int main(){
char buf[1024][10];int i=0;
while(1){
fputs("Print whatever you want:",stderr);
if (fgets(buf[i],sizeof(buf[i]),stdin)==NULL)break;
fputs("You gave:",stderr);
fputs(buf[i],stderr);
fputs("Wanna continue? n or N to exit!",stderr);
if(fgets(buf[i],sizeof(buf[i]),stdin)==NULL||buf[0][i]=='n'||buf[0][i]=='N'||buf[0][i]=='\n')break;
i+=1;}
return 0;
}

Όταν το πρόγραμμα φτάνει στο σημείο ελέγχου τερματισμού οποιαδήποτε είσοδο και να δώσω δεν μπορώ να τερματίσω. Εντωμεταξύ, αυτό συμβαίνει μόνο ΜΕΤΑ το 2ο loop. Στο πρώτο τα πάντα λειτουργούν κανονικά!! Υποψιάζομαι ότι κάτι πρέπει να παίζει με το ENTER (ότι δηλαδή πρέπει να μένει ο χαρακτήρας '\n' στον buffer) αλλά δεν ξέρω τι να κάνω για να το αποφύγω! Καμιά ιδέα κανείς;;;