Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6913299
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T09:12:02+00:00 2026-05-27T09:12:02+00:00

I am trying to open file in function that loads arguments and then save

  • 0

I am trying to open file in function that loads arguments and then save it into struct containing args for later use in other functions. However I cant seem to be able to save it properly (FILE *A,*B equals 0x0). Here’s whan I’ve got so far:

struct Args
{
       int action;      /* holds action token (see teacts)*/
       int error;
       FILE *A,*B;      /* files containing matrixes*/
       int r,s;         /* start coordinates*/
       int power,dir;   /* used in some other function */
} Args;

void getArgs(int argc, char *argv[],struct Args * args)
{
....
testopen(argv[4],args->A);
....
}

int openFile (const char *arg, FILE *input)
{
        input = fopen(arg,"r");

        if (input == NULL)
                return (1);
        else
                return (0);
}

int main (int argc, char **argv)
{
     struct Args args = {.action = A_ERROR};
     getArgs(argc,argv,&args);
     ....
}

Could anyone tell me what am I doing wrong?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T09:12:03+00:00Added an answer on May 27, 2026 at 9:12 am

    Pointers are passed by value in C, like everything else. The line:

    input = ....;
    

    in openFile only changes the value of the local variable (argument) input in that function, it doesn’t change args->A.

    To fix that, you could:

    • pass a pointer to args into openFile.

      int openFile (const char *arg, struct Args *args)
      {
          args->A = fopen(arg,"r");
          ...
      
    • pass a pointer to args->A (making the argument a FILE**):

      int openFile (const char *arg, FILE **input)
      {
          *input = fopen(arg,"r");
          ...
      
    • not pass a FILE* at all, but return one and do:

      args->A = openFile(argv[4]);
      

      Make sure you return NULL on error and you can do error checking in the caller.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to figure out why my function to open a file is
I am trying to use ShellExecute to open a file in Excel. I was
So i am trying to make a function that searches trough an xml file,
I'm trying to write a recursive function that does some formatting within a file
I'm trying to load lines of a text file containing dictionary words into an
im trying to open a file using StreamReader and ive to set a Encoding,
I'm trying to open a file and create a list with each line read
I am trying to open a file which normally has content, for the purpose
Is there a better way than simply trying to open the file? int exists(const
So here's the deal: I'm trying to open a file (from bytes), convert it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.