debug assertion failed str!=NULL fprintf.c

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Arti Potnis

    debug assertion failed str!=NULL fprintf.c

    Hi,

    I have an application with a function "myfunction " that opens a file
    and writes to it using fprintf.
    This application runs on a unix (sun solaris 5.8) system.
    I connect to this application from a VB GUi on a windows 2000 system.
    The GUI invokes "myfunction ".

    I get the following error:-

    "debug assertion failed str!=NULL fprintf.c"

    The check for NULL handler is in place.The code is similar to teh
    following lines:-

    FILE *fp;
    fp=fopen("myfil e.txt","a");
    if (fp==NULL)
    exit(1);

    fprintf(fp,"hel lo");

    Since I check for the FILE handler for NULL value before executing
    fprintf,why should I get the debug assertion failed error.



    Thanks
    Arti
  • Victor Bazarov

    #2
    Re: debug assertion failed str!=NULL fprintf.c

    Arti Potnis wrote:[color=blue]
    > I have an application with a function "myfunction " that opens a file
    > and writes to it using fprintf.
    > This application runs on a unix (sun solaris 5.8) system.
    > I connect to this application from a VB GUi on a windows 2000 system.
    > The GUI invokes "myfunction ".
    >
    > I get the following error:-
    >
    > "debug assertion failed str!=NULL fprintf.c"
    >
    > The check for NULL handler is in place.The code is similar to teh
    > following lines:-
    >
    > FILE *fp;
    > fp=fopen("myfil e.txt","a");
    > if (fp==NULL)
    > exit(1);
    >
    > fprintf(fp,"hel lo");[/color]

    So, you're just printing "hello" into that file? Or is it a bit more
    complicated? Try doing exactly what you wrote here. Output "hello"
    and see if there is a difference.
    [color=blue]
    >
    > Since I check for the FILE handler for NULL value before executing
    > fprintf,why should I get the debug assertion failed error.[/color]

    If I read the assertion correctly, it's not the file pointer that is
    NULL, it's most likely the format string. Now, when you say "the code
    is similar", we cannot help you. You need to post the _actual_ code.
    But don't post all of it. Reduce it to the minimal program that does
    exhibit the said behaviour.

    Also, have you tried simply debugging your application without the VB
    GUI thing calling it? What you need to do is isolate your problem. Is
    it in the connectivity code? Is it in the UNIX program? Replace the
    connectivity part with a simple piece of code that drives the rest of
    the UNIX side and see if it makes any difference.

    Good luck!

    Victor

    Comment

    • Howard

      #3
      Re: debug assertion failed str!=NULL fprintf.c


      "Arti Potnis" <artpot78@yahoo .com> wrote in message
      news:ece8ea46.0 409020449.5f530 0a4@posting.goo gle.com...[color=blue]
      > Hi,
      >
      > I have an application with a function "myfunction " that opens a file
      > and writes to it using fprintf.
      > This application runs on a unix (sun solaris 5.8) system.
      > I connect to this application from a VB GUi on a windows 2000 system.
      > The GUI invokes "myfunction ".
      >
      > I get the following error:-
      >
      > "debug assertion failed str!=NULL fprintf.c"
      >
      > The check for NULL handler is in place.The code is similar to teh
      > following lines:-
      >
      > FILE *fp;
      > fp=fopen("myfil e.txt","a");
      > if (fp==NULL)
      > exit(1);
      >
      > fprintf(fp,"hel lo");
      >
      > Since I check for the FILE handler for NULL value before executing
      > fprintf,why should I get the debug assertion failed error.
      >[/color]

      The problem is the string is NULL, not the file pointer. You say you're
      invoking a function in another application? If you're passing the string
      from one application to another, you need to read up how to do that safely
      on your operating system. Passing a pointer (such as a char*) will usually
      not work, because the memory from one app is often not accessible to another
      app.

      -Howard




      Comment

      Working...