
Πολλές φορές δεν έχω τι να κάνω και είπα να θυμηθώ τα παλιά, έτσι έκανα ένα προγραμματάκι και το παραθέτω παρακάτω:
- Κώδικας: Επιλογή όλων
/********************************************************************************
Άνοιγμα ενός αρχείου txt που επιλέγει ο χρήστης και εκτύπωση των αποτελεσμάτων.
Για να αρχίσει να εκτελείτε το πρόγραμμα θα πρέπει ο χρήστης να το εκτελέσει,
δίνοντας μαζί και τo αρχείο που θέλει να διαβάσει!
********************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
FILE *infile;
char buf[64];
char var, var2;
printf("\n");
infile = fopen(argv[1],"r");
if(infile == NULL) {
printf("Error in file open. The %s file does not exist!\nPlease try again typing: ./a.out <filename>.\n", argv[1]);
exit(1);
}else{
printf("File %s has opened!\n", argv[1]);
printf("If you want to continue and see the content type [y/Y]:");
scanf("%c", &var);
}
if(var == 'y' || var=='Y') {
while(fgets(buf, 64, infile) != NULL) {
puts(buf);
}
}else{
printf("Program exited correctly!\nThank you for using it!;)");
}
printf("If you want to clear the screen type [y/Y]:");
scanf("%c", &var);
if(var2=='y' || var2=='Y') {
printf("\033[H\033[J");
return 0;
}else{
return 0;
}
}
Το πρόβλημά μου λοιπόν είναι οτι το δεύτερο scanf() δεν ενεργοποιείται...με άλλα λόγια μετα το προτελευταίο printf κάνει έξοδο το πρόγραμμα. Κάτι που δεν θέλω. Τρέξτε το να δείτε...
Καμια ιδέα;
σας ευχαριστώ...