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

Проверка массива char на равенство с таким же массивом - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Divelse
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 2
07.04.2013, 22:07     Проверка массива char на равенство с таким же массивом #1
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main()
{
char chArr[4]={"4 8"};
char chCode[4]={"4 8"};
 
    if (chCode==chArr) cout<<"Succes!";
    else coutl<<"\a";
}
Программа должно написать "Succes!", но того не делает. Ошибка, скорее всего, глупая, сразу скажу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 22:07     Проверка массива char на равенство с таким же массивом
Посмотрите здесь:

C++ Работа с массивом char
C++ Работа с массивом char
C++ Проверка на равенство двух строк C++
Проверка на равенство буквы и элемента из массива C++
C++ В чем отличие двумерного массива типа char от массива указателей на char?
Побитовое увеличение числа на 1 и побитовая проверка на равенство C++
Работа с массивом символов Char C++
Проверка на равенство строк C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
07.04.2013, 22:44     Проверка массива char на равенство с таким же массивом #2
В С++ имя массива, это указатель на его первый элемент, следовательно сравниваете вы не строки, а адреса первых элементов массивов.
C++
1
2
3
4
#include <cstring>
//...
if(strcmp(chCode, chArr) == 0)
//...
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
07.04.2013, 22:59     Проверка массива char на равенство с таким же массивом #3
Цитата Сообщение от Divelse Посмотреть сообщение
char chCode[4]={"4 8"};
странная запись

вообще ты здесь сравниваешь строки, а для этого уже есть готовые функции
для сравнения любых массивов
подойдет вот такой алгоритм
C++
1
2
3
4
5
6
7
8
for(int i=0;/*здесь условия выхода */   ;i++)
{
  if(arr1[i]!=arr2[i];
   {
     /*здесь выставляем какой нибудь флаг и выходим больше сравнивать незачем */
    break; 
  }
}
это как бы шаблон
а вообще
вариантов куча например можно инкременировать указатели
Yandex
Объявления
07.04.2013, 22:59     Проверка массива char на равенство с таким же массивом
Ответ Создать тему
Опции темы

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