Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выравнивание полей (Setiosflags), MS Visual 
:(
    Опции темы
Pogreb
Дата 19.11.2005, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 69
Регистрация: 17.10.2005

Репутация: нет
Всего: нет



У меня странная ситуация.
Код

Setiosflags(ios::left)

работает, то есть в поле выравнивает по левой части, а
Код

Setiosflags(ios::right)

не работает вообще.
В чем проблема???
PM MAIL   Вверх
nikitao
Дата 20.11.2005, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



Потому что при использавании манипулятора setiosflags предварительно нало сбрасывать старые флаги противоричещие новым с помощью resetiosflags
Деманстрационный код:
Код

#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;
int main()
{
    cout<<setw(10)<<resetiosflags(ios::left)<<setiosflags(ios::right)<<100;
    cout<<'\n';
    cout<<setw(10)<<resetiosflags(ios::right)<<setiosflags(ios::left)<<100;
    cout<<'\n';
    getch();
}

Честно говоря я не понимаю зачем ты используешь манипулятор setiosflags ,если есть манипуляторы right и left,которые не требуют подключения iomanip.h и с ними гемора меньше(не надо сбрасывать старые флаги) smile


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Pogreb
Дата 20.11.2005, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 69
Регистрация: 17.10.2005

Репутация: нет
Всего: нет



А как они оформляются?
Я в книгах встречал только такие примеры манипуляторов.
PM MAIL   Вверх
nikitao
Дата 20.11.2005, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



просто вместо манипулятора
Код

setiosflags(ios::right)

и
Код

setiosflags(ios::left)

пишешь соответственоо
Код

right

и
Код

left

Тогда вышеизложенный код будет выглядеть
Код

#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;
int main()
{
    cout<<setw(10)<<right<<100;
    cout<<'\n';
    cout<<setw(10)<<left<<100;
    cout<<'\n';
    getch();
}

Как я выше сказал iomanip.h не надо подключать для этих манипуляторов(как и для всех в которых нет параметров),но мы используем манипулятор setw(),который требует этого подключения.Проще всего сделать так:
Код

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
    cout.width(10);
    cout<<right<<100;
    cout<<'\n';
    cout<<left<<100;
    cout<<'\n';
    getch();
}
 ;-) 




--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0652 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.