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

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

Войти
Регистрация
Восстановить пароль
 
VladimirH
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
#1

Вывести на экран содержимое файла с программой на С - C++

01.11.2011, 17:59. Просмотров 824. Ответов 1
Метки нет (Все метки)

Вывести на экран содержимое файла с программой на С, подсвечивая
другим цветом все вещественные константы. ( и если можно закомментить всё)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2011, 17:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести на экран содержимое файла с программой на С (C++):

Вывести на экран содержимое файла с программой на С, подсвечивая другим цветом ключевые слова. - C++
Вывести на экран содержимое файла с программой на С, подсвечивая другим цветом ключевые слова. Не знаю как сравнивать является слово...

Вывести на экран содержимое файла с программой на С, подсвечивая другим цветом все внешние переменные - C++
Вывести на экран содержимое файла с программой на С, подсвечивая другим цветом все внешние переменные. Программа может читать коды только...

Вывести на экран содержимое файла с программой на С, подсвечива другим цветом все восьмеричные константы. - C++
Вывести на экран содержимое файла с программой на С, подсвечива другим цветом все восьмеричные константы. Имею представление об алгоритме...

Вывести содержимое файла на экран - C++
#include<stdio.h> #include <windows.h> #include <iostream> int main() { setlocale(LC_ALL,"Russian"); int otv; char...

Вывести на экран содержимое файла - C++
В чем моя ошибка, подскажите пожалуйста #include <stdio.h> #include <conio.h> #include <iostream.h> #include <windows> ...

Как вывести содержимое файла на экран - C++
Как вывести все с текстового файла на экран???Очень нуждаюсь в вашей помощи

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
01.11.2011, 20:01 #2
В Unix-терминалах существует возможность подсвечивать вывод программ с помощью управляющих escape-последовательностей.
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include <iostream>
#include <string>
#include <boost/regex.hpp>
#include <sstream>
#include <fstream>
 
template <class T>
std::string to_string(const T& v)
{
    std::ostringstream oss;
    oss << v;
    return oss.str();
}
 
enum font_type
{
    PLAIN = 0,
    BOLD = 1,
    UNDERLINED = 4,
    BLINK = 5
};
 
enum color
{
    RESET = 0,
    BLACK = 30,
    RED = 31,
    GREEN = 32,
    YELLOW = 33,
    BLUE = 34,
    PINK = 35,
    TURQUOISE = 36,
    WHITE = 37
};
    
class font
{
public:
    font();
    font(font_type, color, color);
    font(const font&);
    
    std::string to_str() const;
    
private:
    font_type f_t;
    color fg, bg;
};
 
font::font()
    : f_t(PLAIN), fg(RESET), bg(RESET)
{
}
 
font::font(font_type t, color f, color b)
    : f_t(t), fg(f), bg(b)
{
}
 
font::font(const font& rhs)
    : f_t(rhs.f_t), fg(rhs.fg), bg(rhs.bg)
{
}
 
std::string font::to_str() const
{
    std::string result("\e[");
    result += to_string(f_t);
    if(fg != RESET && bg != RESET)
    result += std::string(";") + to_string(fg) + std::string(";") +
        to_string(bg + 10);
 
    result += std::string("m");
    
    return result;
}
 
class colorizer
{
public:
    colorizer(const font&, const font&);
    std::string colorize(const std::string&) const;
private:
    font begin, end;
};
 
colorizer::colorizer(const font& b, const font& e)
    : begin(b), end(e)
{
}
 
std::string colorizer::colorize(const std::string& str) const
{
    return begin.to_str() + str + end.to_str();
}
 
int main(int argc, char* argv[])
{
    std::ifstream ifs;
 
    try
    {
    if(argc != 2)
        throw std::runtime_error("Usage: colorize FILE");
    
    
    const font reset;
    const font red(PLAIN, RED, WHITE);
    const colorizer real_c(red, reset);
 
    const boost::regex rx(R"del(((\+|-)?\d+(\.\d*)?((e|E)(\+|-)?\d+)?))del");
        
    ifs.open(argv[1]);
 
    if(!ifs)
        throw std::runtime_error("Can't open file " + std::string(argv[1]));
        
    std::string line;
 
    while(std::getline(ifs, line))
    {
        std::string result = boost::regex_replace(line, rx, real_c.colorize("$&"),
                              boost::format_perl);
        std::cout << result << std::endl;
    }
 
    ifs.close();
    }
 
    catch(const std::exception& e)
    {
    std::cerr << e.what() << std::endl;
    
    return 1;
    }
    
    return 0;
}
Скрин:
Вывести на экран содержимое файла с программой на С
Естественно, для успешного запуска нужны Unix-like система и Boost
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2011, 20:01
Привет! Вот еще темы с ответами:

Вывести на экран содержимое текстового файла - C++
Написать программу работающую в текстовом режиме (Ширина экрана равна 80 столбцов)которая должна выводить на экран текстовый файл(имя...

Вывести содержимое файла на экран в соответствии с заданным форматом - C++
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов и количество строк было минимальным.

Бинарные файлы ( Вывести на экран содержимое каждого файла) - C++
Пользователь вводит 5 целых чисел. Положительные числа записать в файл &quot;plus.bin&quot;, отрицательные - в &quot;minus.bin&quot;. Закрыть эти файлы и снова...

что не такс програмкой?я хочу вывести содержимое файла на экран? - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main()


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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