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

Как выделить слово в printf? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:06     Как выделить слово в printf? #1
Всем Доброго времени суток!
Я хочу выделить слово в printfe?цветом
Вот код

printf("|LU 254 |(15:45|16:00)|(19:00|19:23)| Мюнхен | Прибыл|\n")
^
Мне надо выделить слово цветом | Прибыл|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2012, 00:06     Как выделить слово в printf?
Посмотрите здесь:

C++ Разбить введенную строку на слова и выделить под каждое слово отдельный массив
Как реализована функция printf C++
C++ Выделить первое слово из строки(работа с указателями)
C++ Visual Studio: поочередно выделить каждое слово текста, начинающееся на согласную букву
C++ Отредактировать текст, заменяя буквы «о» на «а»; по нажатию произвольной клавиши выделить цветом первое исправленное слово
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
30.09.2012, 00:08     Как выделить слово в printf? #2
Что значит выделить?
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:08  [ТС]     Как выделить слово в printf? #3
Цитата Сообщение от veverix Посмотреть сообщение
Что значит выделить?
Цветом) каким нибудь
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.09.2012, 00:11     Как выделить слово в printf? #4
Стандартными средствами С/С++ это невозможно.
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:13  [ТС]     Как выделить слово в printf? #5
Цитата Сообщение от fasked Посмотреть сообщение
Стандартными средствами С/С++ это невозможно.
Можно каким то другим способом?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.09.2012, 00:13     Как выделить слово в printf? #6
Цитата Сообщение от Ibook Посмотреть сообщение
Можно каким то другим способом?
Можно. Но способ реализации зависит от операционной системы.
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:15  [ТС]     Как выделить слово в printf? #7
Цитата Сообщение от fasked Посмотреть сообщение
Можно. Но способ реализации зависит от операционной системы.
Но у меня Windows 7.
Хочу просто проэкт сделать.
Есть какие то подскаски как делать?
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
30.09.2012, 00:21     Как выделить слово в printf? #8
Можно, насколько я помню, выделить только весь текст в консоли, отдельно нельзя.
Но если нужно просто отметить текст как отличающийся, можно капсить, например.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.09.2012, 00:23     Как выделить слово в printf? #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
#include <cstdio>
 
int main()
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
    for(int color = 1; color < 255; ++color) {
        SetConsoleTextAttribute(hConsole, color);
        printf("%d color\n", color);
    }
}
Попробуй такое решение. Я не могу сказать будет ли оно работать, т.к. не имею windows системы под рукой.

UPD: Соответственно, чтобы выделить отдельное слово цветом, то необходимо два раза вызывать функцию SetConsoleTextAttribute - до печати слова и после.
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:25  [ТС]     Как выделить слово в printf? #10
Цитата Сообщение от fasked Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
#include <cstdio>
 
int main()
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
    for(int color = 1; color < 255; ++color) {
        SetConsoleTextAttribute(hConsole, color);
        printf("%d color\n", color);
    }
}
Попробуй такое решение. Я не могу сказать будет ли оно работать, т.к. не имею windows системы под рукой.

UPD: Соответственно, чтобы выделить отдельное слово цветом, то необходимо два раза вызывать функцию SetConsoleTextAttribute - до печати слова и после.
Извени,что задалбываю вопросами Оно будет выделять одно слово Прибыл.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
30.09.2012, 00:28     Как выделить слово в printf? #11
Можно ведь сделать два вывода: первый без изменений, второй залить. Через system();

Добавлено через 1 минуту
Только это не для printf, мда...
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:32  [ТС]     Как выделить слово в printf? #12
Цитата Сообщение от fasked Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
#include <cstdio>
 
int main()
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
    for(int color = 1; color < 255; ++color) {
        SetConsoleTextAttribute(hConsole, color);
        printf("%d color\n", color);
    }
}
Попробуй такое решение. Я не могу сказать будет ли оно работать, т.к. не имею windows системы под рукой.

UPD: Соответственно, чтобы выделить отдельное слово цветом, то необходимо два раза вызывать функцию SetConsoleTextAttribute - до печати слова и после.
Спасибо огромное буду реализовывать.

Добавлено через 1 минуту
Цитата Сообщение от BumerangSP Посмотреть сообщение
Можно ведь сделать два printf: первый без изменений, второй залить. Через system();

Добавлено через 1 минуту
Только это не для printf, мда...
Как именно подскажи пажалуйста?

Добавлено через 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include<cstdio>
#include <iostream>
#include <windows.h>
#include<cmath>
 
using namespace std;
 
void main(){
     SetConsoleCP (1251);
 SetConsoleOutputCP(1251);
    
    printf(" WELCOME  SERGEY S.PROKOFIEEV INTERNATIONL AIROPORT DONETESK\a,\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|Номер Рейса|Время Вылета|Время прилета|Пункт назначения|Состояние рейса|\n");
    printf("            |(План|Факт)| |(План|Факт)|                                  \n");
    printf("-------------------------------------------------------------------------\n");
    printf("|OK   921c |(04:25|04:34)|(07:34|07:55)|    Прага         |   Прибыл    |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|PC   763  |(06:00|06:15)|(08:00|--:--)|    Стамбул       |   Прибыл    |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|VV  090   |(08:00|08:15)|(09:00|09:15)| Киев(Борисполь)  |     Прибыл  |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|UT 722    |(10:00|10:15)|(12:00|12:45)|     Дубай        |     Прибыл  |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|VV 245    |(11:15|11:55)|(14:00|14:45)|     Тель-Аввив   |  Прибыл     |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|VV 249    |(12:00|12:55)|(14:00|14:55)|     Москва       |  Прибыл     |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|LO 760    |(14:00|14:55)|(16:00|17:00)|     Варшава      |  Прибыл     |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|LU 254    |(15:45|16:00)|(19:00|19:23)|      Мюнхен      |  Прибыл     |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|LH 2543   |(18:45|19:00)|(21:00|--:--)|      Анталья     |   Посадка   |\n");
    printf("-------------------------------------------------------------------------\n");
    printf("|VV 327    |(19:45|20:00)|(22:00|--:--)|      Афины       |   Посадка   |\n");
    printf("-------------------------------------------------------------------------\n");
}
Просто оно идет у меня таблицей. Я хочу сделать ,что б у меня слово "прибыл". Выделялось другим цветом.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
30.09.2012, 00:46     Как выделить слово в printf? #13
Например,
C++
1
system("color F0");
Но он все подряд заливает, неважно, где прописан.
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 00:50  [ТС]     Как выделить слово в printf? #14
Цитата Сообщение от BumerangSP Посмотреть сообщение
Например,
C++
1
system("color F0");
Но он все подряд заливает, неважно, где прописан.
Спасибо. Блин какже сделать ,что б одно слово.В Дейтеле там не написанно(
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,126
Записей в блоге: 26
30.09.2012, 11:56     Как выделить слово в printf? #15
Цитата Сообщение от fasked Посмотреть сообщение
Но способ реализации зависит от операционной системы
Более правильно - способ зависит от терминала, под которым будет исполняться программа
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 12:15  [ТС]     Как выделить слово в printf? #16
Вот скажите есть другой способ выделение слово!? в С++
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,126
Записей в блоге: 26
30.09.2012, 12:23     Как выделить слово в printf? #17
Цитата Сообщение от Ibook Посмотреть сообщение
Вот скажите есть другой способ выделение слово!? в С++
В посте 4 тебе уже сказали, что нет.

printf - это НЕ встроенная конструкция языка, а внешняя функция. И функция это выполняет "вывод в выходной поток", но не на "печать на экран". Потому как в Си\Си++ и его библиотечных поддержках нету таких понятий как "экран", "консоль" или "терминал". А есть просто "выходной поток". Когда ты работаешь из-под консоли/терминала, то этот самый выходной поток программы перенаправляется операционной системой на УСТРОЙСТВО "терминал" или "консоль". И дальнейшая настройка по цветам - это исключительно свойства УСТРОЙСТВА. Есть всякие библиотеки для работы с устройством в привычном понятии экрана размером X на Y с настройкой цветов. Но я не знаю, как это под виндой делается
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.09.2012, 12:28     Как выделить слово в printf? #18
Ibook, какой компилятор? если билдер то гугли cprintf
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 54
30.09.2012, 12:32  [ТС]     Как выделить слово в printf? #19
Цитата Сообщение от Jupiter Посмотреть сообщение
Ibook, какой компилятор? если билдер то гугли cprintf
У меня это Micrisoft Visual Studio.Win 32 C++
Windows 7 32 bit
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2012, 12:34     Как выделить слово в printf?
Еще ссылки по теме:

Чем ::printf предпочтительнее printf? C++
Выделить из строки слово, которое начинается с гласной, и заканчивается на согласную букву C++
Как выделить нужное слово из "чар" перемнной C++

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

Или воспользуйтесь поиском по форуму:
Jupiter
30.09.2012, 12:34     Как выделить слово в printf?
  #20

Не по теме:

Цитата Сообщение от Ibook Посмотреть сообщение
У меня это Micrisoft Visual Studio.Win 32 C++
Цитата Сообщение от Jupiter Посмотреть сообщение
Как выделить слово в printf?
тогда бросьте эту глупую затею

Yandex
Объявления
30.09.2012, 12:34     Как выделить слово в printf?
Ответ Создать тему
Опции темы

Текущее время: 04:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru