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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 17:44     знак амперсанда #1
Здравствуйте! Не нашел нигде как считать знак амперсанда. вот код:
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++ знак вопроса
C++ структура знак
C++ Знак *
C++ Знак !
C++ Знак ^ c++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
02.02.2012, 17:51     знак амперсанда #2
Ничего с ним не надо делать, это у вас с передачей аргумента косяки могут быть.
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 17:52  [ТС]     знак амперсанда #3
нет, как знак процента, здесь что бы его вывести нужна какая та хитрость...
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
02.02.2012, 17:55     знак амперсанда #4
Со знаком процента тут тоже нет никакой хитрости, strcmp совершенно параллельно, чего у вас там в этой строке понапихано, единственный особенный для неё символ — нулевой.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.02.2012, 17:56     знак амперсанда #5
jambas92, экранировать амперсанд надо в консоли при запуске Вашего приложения. Там это специальный символ.
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
02.02.2012, 17:59  [ТС]     знак амперсанда #6
задача такая что, когда я ввожу в консоли &, он должен делать определенные действия. Так вот, он не может проверить, знак &, что бы сделать дальнейшие операции. Тогда как сделать, что бы проверить, написано ли знак &?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.02.2012, 18:08     знак амперсанда #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от jambas92 Посмотреть сообщение
задача такая что, когда я ввожу в консоли &, он должен делать определенные действия. Так вот, он не может проверить, знак &, что бы сделать дальнейшие операции. Тогда как сделать, что бы проверить, написано ли знак &?
Да также. Просто, когда Вы запускаете свое приложение, например, в Линукс:
Bash
1
./a.out &
Это будет значить, что процесс будет запущен в отдельном от консоли потоке, а не как дочерний. Грубо говоря, в фоне. Для windows возможно это тоже что-то значит.
Поэтому надо передавать аргументы следующим образом (в Линукс):
Bash
1
./a.out \&
Ну или в кавычки взять. В Windows экранирующим символом является ^. Поэтому писать так:
Bash
1
a.exe ^&
jambas92
 Аватар для 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++ Знак числа
Функции амперсанда в условии if C++

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

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

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