#include <stdio.h>
int main()
{
FILE *file;
char nameFile[32];
char string[500];
char ans[2];
int choice;
do{
printf("What do you want to do?\n"); printf("1. Write text to file\n"); printf("2. Read text file\n"); switch (choice) {
case 1:
printf("Give name to the file (*.txt).\n"); scanf("%s", nameFile
); //This line skips me to line (I have no idea why :() file
=fopen(nameFile
, "w"); if(file!=NULL){
printf("\n\t\t\t-----------Ended writing.------------\n"); }
else
{
printf("Could not open the file."); return -1;
}
break;
case 2:
printf("Give name to the file (*.txt)"); file
=fopen(nameFile
, "r"); if(file!=NULL){
printf("%s\n",string
); //After printing data from text file, adds instruction from line , and that is printing Error. How to get rid of it? }
}
else{
printf("Could not open the file."); return -1;
}
default:
break;
}
printf("Do you want to restart the program? (y/*)"); //Even if I write 'y', program ends anyway :( }
while(ans=='y');
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKICAgIEZJTEUgKmZpbGU7CiAgICBjaGFyIG5hbWVGaWxlWzMyXTsKICAgIGNoYXIgc3RyaW5nWzUwMF07CiAgICBjaGFyIGFuc1syXTsKICAgIGludCBjaG9pY2U7CiAgICAKICAgIGRvewogICAgICAgIHByaW50ZigiV2hhdCBkbyB5b3Ugd2FudCB0byBkbz9cbiIpOwogICAgICAgIHByaW50ZigiMS4gV3JpdGUgdGV4dCB0byBmaWxlXG4iKTsKICAgICAgICBwcmludGYoIjIuIFJlYWQgdGV4dCBmaWxlXG4iKTsKICAgICAgICBzY2FuZigiJWQiLCAmY2hvaWNlKTsKICAgICAgICBzd2l0Y2ggKGNob2ljZSkgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBwcmludGYoIkdpdmUgbmFtZSB0byB0aGUgZmlsZSAoKi50eHQpLlxuIik7CiAgICAgICAgICAgICAgICBzY2FuZigiJXMiLCBuYW1lRmlsZSk7IC8vVGhpcyBsaW5lIHNraXBzIG1lIHRvIGxpbmUgKEkgaGF2ZSBubyBpZGVhIHdoeSA6KCkKICAgICAgICAgICAgICAgIHN5c3RlbSgiY2xlYXIiKTsKICAgICAgICAgICAgICAgIGZpbGU9Zm9wZW4obmFtZUZpbGUsICJ3Iik7CiAgICAgICAgICAgICAgICBpZihmaWxlIT1OVUxMKXsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIklucHV0IHRleHQ6XG4iKTsKICAgICAgICAgICAgICAgICAgICBzY2FuZigiJVteXG5dIiwgc3RyaW5nKTsKICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGZpbGUsICIlcyIsIHN0cmluZyk7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJcblx0XHRcdC0tLS0tLS0tLS0tRW5kZWQgd3JpdGluZy4tLS0tLS0tLS0tLS1cbiIpOwogICAgICAgICAgICAgICAgICAgIGZjbG9zZShmaWxlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkNvdWxkIG5vdCBvcGVuIHRoZSBmaWxlLiIpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBwcmludGYoIkdpdmUgbmFtZSB0byB0aGUgZmlsZSAoKi50eHQpIik7CiAgICAgICAgICAgICAgICBzY2FuZigiJXMiLCBuYW1lRmlsZSk7CiAgICAgICAgICAgICAgICBzeXN0ZW0oImNsZWFyIik7CiAgICAgICAgICAgICAgICBmaWxlPWZvcGVuKG5hbWVGaWxlLCAiciIpOwogICAgICAgICAgICAgICAgaWYoZmlsZSE9TlVMTCl7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKGZpbGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZzY2FuZihmaWxlLCAiJXMiLCBzdHJpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVzXG4iLHN0cmluZyk7IC8vQWZ0ZXIgcHJpbnRpbmcgZGF0YSBmcm9tIHRleHQgZmlsZSwgYWRkcyBpbnN0cnVjdGlvbiBmcm9tIGxpbmUgLCBhbmQgdGhhdCBpcyBwcmludGluZyBFcnJvci4gSG93IHRvIGdldCByaWQgb2YgaXQ/CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkNvdWxkIG5vdCBvcGVuIHRoZSBmaWxlLiIpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHByaW50ZigiRXJyb3IuIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJEbyB5b3Ugd2FudCB0byByZXN0YXJ0IHRoZSBwcm9ncmFtPyAoeS8qKSIpOyAvL0V2ZW4gaWYgSSB3cml0ZSAneScsIHByb2dyYW0gZW5kcyBhbnl3YXkgOigKICAgICAgICBzY2FuZigiJXMiLCBhbnMpOwogICAgfQogICAgd2hpbGUoYW5zPT0neScpOwogICAgcmV0dXJuIDA7Cn0=