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

Считать строки из файла, и вывести те что начинаются с тире - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странности с typedef http://www.cyberforum.ru/cpp-beginners/thread32714.html
В задании нужно определить с помощью typedef массив char.Пишу в header-файле:typedef char masschar;Потом делаю так:masschar cfg;И код компилируется только с /media/Part2/C++/Projects/CodeBlocks/5.9/declarations.cpp||In function ‘void declarations()’:| /media/Part2/C++/Projects/CodeBlocks/5.9/declarations.cpp|22|предупреждение: unused variable ‘cfg’| ||=== Build finished: 1 errors, 0 warnings...
C++ Кусач по информатике!!(свм пока полный "0") 1.Известно, что в Москве самыми теплыми являются дни с 15 июля по 15 августа. Для проведения фестиваля были выбраны 7 следующих подряд дней, наиболее теплых по данным за последние 10 лет. Составить программу для выполнения этой работы на ЭВМ. (Все данные датчико случай ных чисел.) 2.Японская радиокомпания провела опрос 250 радиослушателей по трем вопросам: 1). Какое животное Вы связываете с... http://www.cyberforum.ru/cpp-beginners/thread32704.html
Напишите прогу, буду благодарен. C++
Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов диапазон значений : -100 100 Размерность массива 100 Очень надеюсь на вас, зарание спасибо.
C++ Сортировка по алфавиту и еще несколько вопросов по С++
Срочно нужна помощь. 1) Нужно отсортировать по алфавиту массив из n элементов класса string. 2) Как вывести число с определенным количеством знаков после запятой с помощью cout.
C++ Умножение матрицы на вектор http://www.cyberforum.ru/cpp-beginners/thread32692.html
Есть матрица и вектор(задается с клавиатуры или случайно - не важно). Матрица умножается на вектор1 и получается вектор2. Далее та же самая матрица умножается на полученный вектор2 и получается вектор3 и т.д. Вопрос: как реализовать такое зацикленное умножение до тех пор пока вектора не станут повторятся(т.е получим период)? Буду рад вашей помощи.
C++ На языке Си++. Разбить файл на n равных частей (n вводится с клавиатуры). Помогите, пожалуйста, с задачкой :wall:. Надо написать на Си++, чтобы допустили к экзамену. Разбить файл на n равных частей (n вводится с клавиатуры). подробнее

Показать сообщение отдельно
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
05.05.2009, 00:25     Считать строки из файла, и вывести те что начинаются с тире
Ага, действительно. Что-то я упустил, что там про строки говорилось...
Тогда переделать можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <string>
#include <algorithm>
#include <functional>
#include <iterator>
#include <fstream>
#include <iostream>
 
template <typename T>
struct line
{
    typedef T value_type;
    friend std::istream& operator>> (std::istream& s, line& l)
    {
        std::getline(s, l.buf_);
        return (s);
    }
 
    friend std::ostream& operator<< (std::ostream& s, const line& l)
    { return s << l.buf_; }
 
    const value_type& str() const { return (buf_); }    
    value_type buf_;
};
 
template <typename T>
struct dash : public std::unary_function<T, bool>
{
    bool operator()(const T& v) const
    {
        typedef typename T::value_type value_type;
        typedef typename value_type::size_type size_type;
        size_type pos = v.str().find_first_not_of(' ');
        return (pos != value_type::npos && v.str()[pos] == '-');
    }
};
 
template <typename T, template <typename> class L, typename OS>
void print(OS& os, const L<T>&)
{
    std::remove_copy_if(
        std::istream_iterator<L<T> >(os),
        std::istream_iterator<L<T> >(),
        std::ostream_iterator<L<T> >(std::cout, "\n"),
        std::not1(dash<L<T> >())
        );      
}
 
int main()
{
    std::ifstream ifs("file.txt");
    if (!ifs)
        throw std::runtime_error("i/o error.");
 
    print(ifs, line<std::string>());
    return 0;
}
 
Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru