Не игнорировать пробелы

Суть вопроса в следующем. Хочу при помощи следующего кода записать содержимое текстового файла в массив. Можно и не в массив, в любой контейнер, но операция copy по какой то причине воспринимает только массив. При всем этом я не хочу чтобы игнорировались пробелы. Как добиться этого результата?

C++Выделить код

1
2
3
4
5
6
7
8
9
10

ifstream file("song.dat");
ifstream_iterator isiter(file);
ifstream_iterator end_of_stream;
char array[10000];
string s1;
vector v1;
 
//copy(isiter, end_of_stream,v1); - не работает =-/
//copy(isiter, end_of_stream,s1); - даже если указать тип string не работает
//copy(isiter,end_of_stream,array); - работает, но игнорирует все пробелы