• C

File names???

I'm starting programming in C, and would like to write the program in such a way that I can open any file, rather than one specified in the middle of the code.

I can't work out how to get the file name specified after the line

printf("Please enter your file name");
scanf("%c", &name);

to then be used to open the file in the line

fprintf("[needs to point to name]", "a");

(I want to write data to the end of the file hence a for append)

Any help would be greatly appreciated
Nile_6670Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Nile_6670Author Commented:
Edited text of question.
0
deightonprogCommented:
You don't use fprintf quite like this, you need to get a file pointer to the file  using fopen

#include <stdio.h>

void main()
{
    FILE *fp;
    char name[80];

printf("Please enter your file name");
                      scanf("%c", &name);

    if((fp = fopen(name,"w"))==NULL) {
        printf("failed to open file tfile");
        return;
    }
    else {
            fclose(fp);
            printf("closed file tfile");
        }
fprintf(fp,"Test");
fclose(fp);
    return;
}
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C

From novice to tech pro — start learning today.