Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
#1

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

20.04.2013, 18:40. Просмотров 1445. Ответов 4
Метки нет (Все метки)

Суть вопроса в следующем. Хочу при помощи следующего кода записать содержимое текстового файла в массив. Можно и не в массив, в любой контейнер, но операция copy по какой то причине воспринимает только массив. При всем этом я не хочу чтобы игнорировались пробелы. Как добиться этого результата?
C++
1
2
3
4
5
6
7
8
9
10
ifstream file("song.dat");
ifstream_iterator<char> isiter(file);
ifstream_iterator<char> end_of_stream;
char array[10000];
string s1;
vector<char> v1;
 
//copy(isiter, end_of_stream,v1); - не работает =-/
//copy(isiter, end_of_stream,s1); - даже если указать тип string не работает
//copy(isiter,end_of_stream,array); - работает, но игнорирует все пробелы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 18:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не игнорировать пробелы (C++):

Палиндром: игнорировать пробелы - C++
Наличие палиндром в строке от i-го до j-го символа. Как игнорировать пробелы? К примеру если ввести &quot;арбуз у зубра&quot; программа определяет...

Игнорировать С2039 - C++
Добрый день. Не очень обычный вопрос. Дано: //вот с этим я хочу работать class SomeClass { public: int a; int b; int...

Игнорировать ввод букв - C++
Скажите, как игнорировать ввод букв и вообще всех символов кроме 0-9 и точки, подобно проверке на корректность ввода данных. Какой-то цикл...

Как игнорировать ненужные данные из потока? - C++
Формат входной строки должен быть таким: Слово нужное_нам_число Например: windows 2012 Нужно из strStream потока присвоить...

STL. Алгоритм find(). Игнорировать регистр - C++
Вся суть вопроса изложена в теме. Есть код, я помещаю в очередь с двусторонним доступом 9 слов, далее использую алгоритм find чтобы найти...

Как красиво игнорировать символы из входного потока? - C++
Здравствуйте! Необходимо игнорировать некие символы до конца строки. Есть два варианта: std::cin.ignore() - однако! Требуется...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
20.04.2013, 18:48 #2
Если вручную вводить, то можно использовать это:
C++
1
cin.get();
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
20.04.2013, 19:04 #3
fuzzytoozy, вам нужно построчно или сразу весь текст запихнуть?

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <fstream>
#include <iterator>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");
 
    ifstream file("song.dat");
 
    if ( file ) {
    istreambuf_iterator<char> it(file);
//istream_iterator не учитывает символы переноса строки
    istreambuf_iterator<char> eos;
    string str(it, eos);
    cout << str;
    }
 
    return 0;
}
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
20.04.2013, 19:30 #4
Как вариант:
C++
1
2
3
4
5
    std::fstream file("input.txt",std::ios::in | std::ios::binary);
    file.seekg(0,std::ios::end);
    std::vector<char> vec(file.tellp());
    file.seekg(0,std::ios::beg);
    file.read(&vec[0],vec.size());
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
20.04.2013, 20:12  [ТС] #5
все работает как нужно, символ переноса строки тоже учитывается! Всем спасибки = )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2013, 20:12
Привет! Вот еще темы с ответами:

Удалить из строки комментарии вида '/* . */". Игнорировать вложенные комментарии - C++
Всем привет! есть строка вида : char str=&quot;abc/*111/*def/*222*/ghi*/333*/jkl&quot;; нужно получить abc /*def ghi*/ jkl Реально ли так...

Удалить из строки комментарии вида '/* ... */". Игнорировать вложенные комментарии. - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; int main(int argc, char *argv) { ...

пробелы - C++
Помогите решить задачу. Дан произвольный текст,отредактировать его так,чтобы: а)между словами был ровно 1 пробел; ...

Пробелы в строке - C++
Здравствуйте,подскажите пожалуйста ,как организовать сторку с пробелами.В этом коде строку то считывает до первого пробела ,а мне нужна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.04.2013, 20:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru