Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
olegjan
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 185
1

Что означает %1?

19.09.2014, 09:02. Просмотров 892. Ответов 9
Метки нет (Все метки)

Здравствуйте, вопрос собственно в заголовке,
при выводе информации на экран порой используют запись вида "text %1.\n"
\n - это как я понял переход на новую строку,
а вот %1 что??
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2014, 09:02
Ответы с готовыми решениями:

Поясните пожалуйста что означает двоеточие и то что идет после него
В 4 строчке после параметра в скобочках нету ";" или же тела функции, что не...

скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что?
скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? ...

Что означает запись в скобках и что возвращает return
Всем привет! Начал читать книгу BecomeAnXcoder и тут появился вопрос. В...

Что такое #, include, что это означает
______

Что означает |= ?
вопрос в теме

9
DrOffset
8937 / 4817 / 1178
Регистрация: 30.01.2014
Сообщений: 7,868
19.09.2014, 09:13 2
Цитата Сообщение от olegjan Посмотреть сообщение
а вот %1 что??
Для начала скажи где ты это видел.
Но вообще это обозначение первого формального параметра. Этот %1 при выводе заменится на какой-то аргумент.
Вот например в Qt.
C++ (Qt)
1
QString s = QString("test %1").arg("string");
В s будет находится строка 'test string', %1 заменился на 'string'. %2, %3 и т.д. соответственно второй и третий аргументы.
0
olegjan
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 185
19.09.2014, 09:29  [ТС] 3
Спасибо!!) Примерно понял, в Qt и видел сие)
подскажи плиз, как будет выглядеть такая же запись для %2??
0
DrOffset
8937 / 4817 / 1178
Регистрация: 30.01.2014
Сообщений: 7,868
19.09.2014, 09:34 4
Лучший ответ Сообщение было отмечено olegjan как решение

Решение

Цитата Сообщение от olegjan Посмотреть сообщение
подскажи плиз, как будет выглядеть такая же запись для %2??
Например так:
C++ (Qt)
1
2
                                          // %1        %2
QString s = QString("test %1 and %2").arg("string").arg(2);
первый arg подставит вместо %1 строку 'string', второй - вместо %2 число 2.
0
olegjan
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 185
19.09.2014, 09:58  [ТС] 5
Сенк))
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
19.09.2014, 12:37 6
Цитата Сообщение от DrOffset Посмотреть сообщение
Но вообще это обозначение первого формального параметра.
Вообще это остаток от деления на цело на 1. А если внутри строчного параметра, то зависит от функции.
0
DrOffset
8937 / 4817 / 1178
Регистрация: 30.01.2014
Сообщений: 7,868
19.09.2014, 12:39 7
Цитата Сообщение от taras atavin Посмотреть сообщение
Вообще это остаток от деления на цело на 1.
Вообще-то это тут не при чем. Из контекста вопроса видно, что автор спрашивал про строку форматирования, а не про операторы языка.
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
19.09.2014, 12:44 8
Ну а строку форматирования разбирает сама функция, можно сделать, чтоб это означало один символ до точки, а два до и три после точки обозначать
C++
1
"%2.3"
.
0
DrOffset
19.09.2014, 13:04
  #9

Не по теме:

taras atavin, ну так да. Поэтому я и спросил его

Цитата Сообщение от DrOffset Посмотреть сообщение
Для начала скажи где ты это видел.
А потом уже стелепатировал, что видел он это в Qt.
Потому что, например, boost::format, где тоже может использоваться такое обозначение формальных параметров, автор вряд ли использовал, не говоря уже про какую-либо экзотику.

0
zss
Модератор
Эксперт С++
7412 / 6802 / 4302
Регистрация: 18.12.2011
Сообщений: 17,969
Завершенные тесты: 1
19.09.2014, 13:06 10
Цитата Сообщение от taras atavin Посмотреть сообщение
два до и три после точки обозначать
"%6.2lf" - означает. что под все число отводится 6 позиций, из них две после точки
"%6.2lg" - означает. что под все число отводится 6 позиций, из них две значащие.
"%6.2le" - тоже самое, экспоненциальный формат.
0
19.09.2014, 13:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2014, 13:06

что означает
Что означает такая инструкция? char str;

Что означает (//) и (#)?
Что означает? Для чего нужны? Двойной символ «прямой слэш» (//) Одиночный...

Что означает
if(!min && number > 0) min = number; else if(min && number > 0 &&...


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

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

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