Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 28.11.2013, 18:45   #1
Devilox
ПроЭктировщик
 
Аватар для Devilox
 
Регистрация: 14.01.2012
Адрес: Зеленоград
Сообщений: 192
Написано 5 полезных сообщений
(для 9 пользователей)
Символьный массив

В учебнике по C++ закончил одномерные массивы и подумал, что нужно написать простенькую свою программку, но не тут-то было. Программа должна представлять из себя текстовое управление консолью с каким-нибудь вычислением. Для ввода команд я создал символьный массив, записал в нём, например, команду "exit", однако оказалось, что туда записывается что-то другое, и ничего не работает. Что делать?

#include <iostream>
using namespace std;

int close = 0;

void main() {
	while (close != 1) {
		char string[20];
		cin.getline(string, 10);

		if (string == "exit") {
			close = 1;
		}
	}
}
__________________
(Offline)
 
Ответить с цитированием
Старый 28.11.2013, 18:55   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Символьный массив

очевидно что первый элемент массива string неравен строке "exit"
сравнивать строки нужно так: if (strcmp(string, "exit") == 0) {
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Devilox (28.11.2013)
Старый 28.11.2013, 20:01   #3
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Символьный массив

std::string command;
std::cin >> command;
if (command == "exit)
    return 0;
темболее сравнение сишных строк
 if (strcmp(str, "eqstr") == 0) do_something();
а неработает потому что ты сравниваешь указатели а не строки. Поверхностно ты учебник читал

Последний раз редактировалось impersonalis, 28.11.2013 в 21:25. Причина: неоправданное сквернословие
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:13.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com