VC++ _popen to call ftp and pipe output to a file, cannot open file?

M

Michael

Hello,

Not sure if this is the right message board but I have an interesting
problem.

Using Visual Studio .NET, C++, I want to write an all-encompassing C++
program to download new files from an FTP Server. The C++ program will
ftp to the server and download a list of files, match those files with
the ones I've already received, put together a new ftp script and
download.

I am using _popen to call FTP.

My problem is this, _popen calls ftp and pipes the output to a .txt
file, then the C++ program tried to open the .txt file and fails. It's
as if the C++ program is not waiting for the _popen to complete and
_popen still has the file open so my next statement to attempt opening
fails. Is there a way around this?

Here is a bit of my code:

// Call _popen and capture output for errors
FILE *pPipe;
char my_command[200];
sprintf(my_command,"ftp -v -i -s:%s >
%s",ftp_filename,output_filename);
if ((pPipe = _popen(my_command,"rt"))==NULL)
{
cout << "FTP FAILURE" << endl;
exit(1);
}
fclose(pPipe);

// Open Output File
sfile.open(output_filename,ios::in);
if(!sfile)
{
cout << "Could not open: " << output_filename << endl;
return -1;
}

The "if(!sfile)" is always TRUE, so the program fails.

Thanks in advance for the assistance!
 
R

Ron Natalie

Michael said:
// Open Output File
sfile.open(output_filename,ios::in);

Does output_filename actually exist?
What is sfile? Hopefully it's an ifstream or such.
if(!sfile)
{
cout << "Could not open: " << output_filename << endl;

You might want to try GetLastError or some other Windows call that might
give you a better explanation of the failure.
 

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

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top