Para solicitar ao usuário o endereço do arquivo para leitura use o seguinte codigo:
#include <cstdlib>
#include <iostream>
#include <stdio.h>int main()
{
char str[255];
FILE *arq;
char endereco[300];
printf(“Digite o endereco do arquivo: “);
gets(endereco);
arq=fopen(endereco,”r”);
printf(“\n”);
if(arq)
{
while(!feof(arq))
{
fgets(str,255,arq);
printf(“ %s”,str);
}
}fclose(arq);
printf(“\n\n”);
system(“PAUSE”);
return EXIT_SUCCESS;
}













Ok cara, isso pode funcioanr, mas seria mais honesto se o título fosse “Ler arquivo definido pelo usuário em C”, pq o código q vc fez na verdade é C.
C++ de verdade faria uso dos streams e etc da vida (q é oq eu estou tentando aprender agora x)
Pra quem ver este comentário mais uma nota: C++ foi projetado para ter compatibilidade com C, ou seja, [quase] qualquer código C compila em C++