debug assertion failed str!=NULL fprintf.c

A

Arti Potnis

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("myfile.txt","a");
if (fp==NULL)
exit(1);

fprintf(fp,"hello");

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



Thanks
Arti
 
V

Victor Bazarov

Arti said:
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("myfile.txt","a");
if (fp==NULL)
exit(1);

fprintf(fp,"hello");

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.
Since I check for the FILE handler for NULL value before executing
fprintf,why should I get the debug assertion failed error.

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
 
H

Howard

Arti Potnis said:
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("myfile.txt","a");
if (fp==NULL)
exit(1);

fprintf(fp,"hello");

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

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,997
Messages
2,570,239
Members
46,827
Latest member
DMUK_Beginner

Latest Threads

Top