Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5 / 5 / 0
Регистрация: 07.07.2010
Сообщений: 80
1

Не сразу закрывающаяся программа

09.07.2010, 22:23. Показов 1345. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть команды в терминале.. вроде telnet или sql, эти программы запускаешь и они остаются открытыми пока не дашь команду, например, quit. Во время работы программы она показывает знак приглашения новой команды ">". Как это можно осуществить в C++?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2010, 22:23
Ответы с готовыми решениями:

Консольная программа запускается и сразу закрывается
Есть программа, ее компиляции проходит нормально никаких ошибок нет, но как только она запускается как сразу же закрывается....не знаю что...

Программа сразу завершается
Здравствуйте! Я написал программу с конфигурацией решения Release, при запуске exe-файла программа тут же закрывается, а то что она выводит...

Почему программа сразу закрывается ?
#include <iostream> using namespace std; int main (void) { int age; cout << "Enter you age: "; cin >> age; if...

8
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
09.07.2010, 22:57 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
int main(void){
    char buf[BUFSIZ];
    /* прочие переменные... */
    
    while ( 1 ){
        printf("> ");
        scanf("%s", buf);
        if ( ! strcmp(buf, "quit") || ! strcmp(buf, "QUIT") )
            break;
        printf("Processing command %s\n", buf);
    }
    
    return 0;
}
1
5 / 5 / 0
Регистрация: 07.07.2010
Сообщений: 80
10.07.2010, 00:51  [ТС] 3
Спасибо.. прекрасно!

А строчку "char buf[BUFSIZ];" можно в двух словах объяснить?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
10.07.2010, 01:01 4
Цитата Сообщение от Alexoy Посмотреть сообщение
А строчку "char buf[BUFSIZ];" можно в двух словах объяснить?
BUFSIZ - константа, объявленная в stdio.h, соответственно
C
1
char buf[BUFSIZ];
массив символов заведомо (я бы даже сказал - излишне) достаточного размера для хранения строки, содержащей введённую команду.
На всякий случай: в таком виде оно только, как учебный пример, жить может. В реальных приложениях всегда нужно следить за количеством символов, передаваемых в массив (fgets(), strncpy, etc...)
0
5 / 5 / 0
Регистрация: 07.07.2010
Сообщений: 80
10.07.2010, 01:12  [ТС] 5
т.е. если просто написать "buf[10]" потом "больно" не будет?! Работает.. вижу) . Ты про переполнение буфера и подобное?!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
10.07.2010, 01:38 6
Цитата Сообщение от Alexoy Посмотреть сообщение
Ты про переполнение буфера и подобное?!
ну да...
0
5 / 5 / 0
Регистрация: 07.07.2010
Сообщений: 80
10.07.2010, 01:45  [ТС] 7
А можно без scanf()? мне бы на argv[] лучше перейти как-нибудь. но так почему-то только argv[0] есть с названием команды. если сказать вывести argv[1], то выдаёт

terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct NULL not valid
Aborted (core dumped)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
10.07.2010, 01:51 8
Цитата Сообщение от Alexoy Посмотреть сообщение
А можно без scanf()? мне бы на argv[] лучше перейти как-нибудь.
Минуточку! **argv содержит массив строк, переданных программе в качестве параметров. Чего же тогда программа ждать-то должна? Вот прям рядом тема про argv argc и иже с ними https://www.cyberforum.ru/cpp/thread152233.html
0
5 / 5 / 0
Регистрация: 07.07.2010
Сообщений: 80
12.07.2010, 22:05  [ТС] 9
Да да.. это моя тема и была) тогда как осуществить поддержку ключей внутри теперешней программы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2010, 22:05
Помогаю со студенческими работами здесь

Программа сразу после ввода закрывается
Ввела код { int buf; int a; int n,i; cin &gt;&gt; n; for (int i=0; i&lt;n; i++) { ...

Программа сворачивается сразу же после выполнения
Есть система из трех уравнений, программа написана. Почему при вводе x=0 , y=0 окно вывода сразу сворачивается? #include &lt;iostream&gt;...

Программа закрывается сразу после отработки
программа готова. Запускаю компилятор. Программа выполнена правильно, но окно сразу же закрывается! Какой код нужно вставить, чтобы окно...

Программа вылетает сразу же после запуска
Доброго всем времени суток. Начал писать программу с двумерным массивом. Еще не прописал ни одного действия, а она уже работает неверно. ...

Должна ли программа закрываться сразу после открытия?
Решил изучать С++ (Посоветовал знакомый программист). Начал с прочтения Шилдта &quot;С++. Базовый курс&quot;. Вот моя самая первая...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
Разработка кроссплатформен­­­­ного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru