There may be a flag to prevent it from engendering a file to fill an empty path. So if there was such a thing, you could check an ofstream for validity after opening. If it was bad, you would know the file didn't exist.
An alternative is to open an ifstream to a file, because it will never create a file against its path afaik. If the open failed you know it didn't work. But I don't know of a cleaner, prettier way.