when I complile this program and then try to run it I get error LNK1201. So I started over and left it complile to c:\ and when I try to run it I get file could not be opened. I think the objective is to compile on c:\ and save data file on a:\. what am I doing wrong? thx

#include <fstream.h>
#include <stdlib.h>
#include <iostream.h>

int main()
{

	char filename[20] = "a:\filename.dat";
	char data[20];

	cout << "Enter the filename: " ;
	cin >> filename;
	cout << endl << endl;

	ofstream outfile;

	outfile.open(filename);

	if (outfile.fail())
	{
		cout << "The file was not successfully opened" << endl;
		exit(1);
	}

	cout << "Input name: ";
	cin >> data;
	cout << endl;

	outfile<<data;
	outfile.close();
	return 0;
}

You may need to make it a:\\ because it thinks you are trying to 'escape' a character.

thx but it didn't work. still writes to c:\ drive

What exactly are you entering at:

cin >> filename;

If you are not specific (entering drive designator) it will use whatever the default drive is when the application was launched. Probably in your case "c:\".

winbatch is correct with his response, but don't make the mistake of doing the same thing when prompted at the console. Double back slashes have a completely different meaning in that context.

thanks to both!!!

outfile.open("a:\\filename");
this is line where I needed to have \\ to send to a:\

This article has been dead for over six months. Start a new discussion instead.