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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
#1

знак амперсанда - C++

02.02.2012, 17:44. Просмотров 2238. Ответов 9
Метки нет (Все метки)

Здравствуйте! Не нашел нигде как считать знак амперсанда. вот код:
C++
1
if (!strcmp(argv[i], "&"))
вот здесь он не читает знак &
пробовал
C++
1
"\&"
,
C++
1
"/&"
,
C++
1
"&&"
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2012, 17:44     знак амперсанда
Посмотрите здесь:

Считывание амперсанда - C++
Сделайте, пожалуйста, считывание амперсанда без замены его в цикле, используя gets и sscanf.

Функции амперсанда в условии if - C++
Второй день как изучаю С++, учусь по учебнику Глушакова, Коваля Смирнова. В главе про цикл while не могу разобрать пример. А конкретней...

Что значат два амперсанда? - C++
istream& getline (istream&& is, string& str, char delim);

Почему функция не будет работать без амперсанда? - C++
void swap(int & ar1, int & ar2) //функция обмена { int temp = ar1; ar1 = ar2; ar2 = temp; } почему функция НЕ будет...

Один или два амперсанда после круглых скобок при объявлении метода - C++
Сабж. Что это означает? struct Foo { int n = 200; int doWork () && { return n; } };

Почему в scanf("%s",ss) имя ss пишется без амперсанда? - C++
почему в scanf("%s",ss) имя ss пишется без амперсанта?

Знак * - C++
Здравствуйте, скажите пожалуйста, что означает знак * например в таких фрагментах?: 1)++*PCounter 2)char *str1, *str2; Или еще в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1747 / 1090 / 71
Регистрация: 13.09.2011
Сообщений: 3,120
02.02.2012, 17:51     знак амперсанда #2
Ничего с ним не надо делать, это у вас с передачей аргумента косяки могут быть.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 17:52  [ТС]     знак амперсанда #3
нет, как знак процента, здесь что бы его вывести нужна какая та хитрость...
NoMasters
Псевдослучайный
1747 / 1090 / 71
Регистрация: 13.09.2011
Сообщений: 3,120
02.02.2012, 17:55     знак амперсанда #4
Со знаком процента тут тоже нет никакой хитрости, strcmp совершенно параллельно, чего у вас там в этой строке понапихано, единственный особенный для неё символ — нулевой.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.02.2012, 17:56     знак амперсанда #5
jambas92, экранировать амперсанд надо в консоли при запуске Вашего приложения. Там это специальный символ.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 17:59  [ТС]     знак амперсанда #6
задача такая что, когда я ввожу в консоли &, он должен делать определенные действия. Так вот, он не может проверить, знак &, что бы сделать дальнейшие операции. Тогда как сделать, что бы проверить, написано ли знак &?
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.02.2012, 18:08     знак амперсанда #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от jambas92 Посмотреть сообщение
задача такая что, когда я ввожу в консоли &, он должен делать определенные действия. Так вот, он не может проверить, знак &, что бы сделать дальнейшие операции. Тогда как сделать, что бы проверить, написано ли знак &?
Да также. Просто, когда Вы запускаете свое приложение, например, в Линукс:
Bash
1
./a.out &
Это будет значить, что процесс будет запущен в отдельном от консоли потоке, а не как дочерний. Грубо говоря, в фоне. Для windows возможно это тоже что-то значит.
Поэтому надо передавать аргументы следующим образом (в Линукс):
Bash
1
./a.out \&
Ну или в кавычки взять. В Windows экранирующим символом является ^. Поэтому писать так:
Bash
1
a.exe ^&
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 20:51  [ТС]     знак амперсанда #8
fasked, да это то что мне нужно! Что бы процесс запустился в отдельном консоли потоке, но ни как нельзя сделать так что бы не писать ^&, а писать например как a.exe & ???
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.02.2012, 21:05     знак амперсанда #9
а при чем тут тогда разбор внутри программы переданных аргументов?
когда ты в шеле *nix-ов пишешь,
Bash
1
./a.out &
то & не считается аргументом для передачи программе, а распознается оболочкой как указатель на то, что программу надо запустить в фоновом режиме.

можно ли под cmd.exe в винде запустить программу в фоновом режиме - хз. если тока что-то вроде start /b a.exe
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2012, 21:40     знак амперсанда
Еще ссылки по теме:

Знак ^ c++ - C++
Для начала знать бы как он называется, потому что гугл в ответ выдает ересь, ну а в идеале где используется, что делает....

Знак ! - C++
Я часто встречаю вот такого типа выражения в программах на С++:if( !chislo ) { ... } что означает !chislo ведь переменная...

знак вопроса - C++
что означает знак вопроса вот здесь: double gcd (int x, int y ) { return (( y == 0) ? x : gcd (y, x % y )); } программа...

структура знак - C++
Ребят прошу о помощи, облазил интернет но не нашел на С++ этого задания, тока на С#... Дана структура с именем ZNAK , содержащая...

меняется знак - C++
дано последовательность ненулевых целых чисел, оканчивиющая нулем. Определить, скоклко раз в этой после.ности меняет знак. 10, -4, 12, 2,...


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

Или воспользуйтесь поиском по форуму:
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 21:40  [ТС]     знак амперсанда #10
задание то и есть написать шел, запустить в cmd.exe, и при команде &, процесс был запущен в отдельном от консоли потоке
Yandex
Объявления
02.02.2012, 21:40     знак амперсанда
Ответ Создать тему
Опции темы

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