Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
#1

сравнивание строк - C++

08.05.2011, 21:58. Просмотров 483. Ответов 3
Метки нет (Все метки)

Здравствуйте. Обьясните пожалуйста чайнику, почему я немогу сравнить строку вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    char a[]="privet";
    if(a=="privet") cout<<"равно"<<endl;
    cout<<a;
 
   cin.get();
    return 0;
 
}
И как правильно это делается ? Для меня как человеку пришедшему из PHP это трудно понять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 21:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сравнивание строк (C++):

Сравнивание строк - C++
Всем привет. В программу у меня вводится слово, заранее длинна слова не известна. Мне нужно проверить количество согласных в этом слове и...

Сравнивание и присоединение строк - C++
Присоединение, проблема в том, как вывести результат присоединения: #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;alloc.h&gt; void...

Сравнивание строк в структуре - C++
Здравствуйте. Мне нужно вывести на экран структуру, в подпрограмме я ввожу данные, а в этой output вывожу данные, но сначала мне нужно...

Сравнивание указателей - C++
Нужно подсчитать количество символов до определенной позиции, включительно, указатель на которую - begin_symbol начало подсчета с позиции...

Сравнивание 3-х чисел - C++
Как сравнить 3 числа в с++,и вывести на экран число которое из них больше,если не сложно объясните

Сравнивание CLASS1* с CLASS2 - C++
есть вектор указателей CLASS1 и мне нужно функцией std::find найти нужный указатель делаю так: find( v.begin(), v.end(), CLASS2( 3, 4 )...

3
eXXXXXXXXXXX
30 / 30 / 3
Регистрация: 24.02.2011
Сообщений: 126
08.05.2011, 22:02 #2
C++
1
2
3
4
if (strcmp(a,"privet")==0)
{
      cout<<"равно"<<endl;
}
здесь a- это указатель на char, "privet" - тоже указатель на char, а указывают они ,естественно, на разные участки памяти
1
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
08.05.2011, 22:29  [ТС] #3
eXXXXXXXXXXX,Cпасибо за оперативность
Почему в этом языке так все усложнено ? И зачем я учился PHP, теперь в голове каша.
О горе мне. Обьясните теперь в чем разница между
C++
1
 char a[]="pri";
и
C++
1
 char *a="pri";
Если можно обьясните суть.

Добавлено через 18 минут
И есче один вопрос. В первом примере я пытался сранить строки, как мне обьяснили делал я неправильно. Но ведь компилятор не сообщил об ошибке. Значит я что то сравнивал. И что же я сравнивал интересно узнать.

Не по теме:

этому языку вообще можно научится ?_))

0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
09.05.2011, 00:50 #4
LedZeppelin, Можно. Разница в том, что в первом случае ты объявляешь массив, а во втором указатель + в данном случае символы второй переменной ты изменить не сможешь - компилятор их заносит в константную область памяти (мб как-то по-другому называется - запамятовал).

А сравнивал ты указатели на первый элемент двух строковых массивов.
Через операторы сравнивать можно с классом string, в котором они перегружены.
1
09.05.2011, 00:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 00:50
Привет! Вот еще темы с ответами:

сравнивание двух чисел - C++
Написать функцию, которая сравнивает два целых числа и возвращает результат сравне-ния в виде одного из знаков: &gt;, &lt; или =.

Сравнивание char строки с текстом - C++
Программа определяет какое событие произошло раньше а какое позже(вводится с экрана, к примеру 2012 April 21). В программе не сравнивает...

Сравнивание числа с числом из файла - C++
Есть следующие строки, которые считывают из файла цифру: #define WORKFILE &quot;C:\\tmp.html&quot; ... char workProcess; ...

сравнивание переменной с массивом(чисел) - C++
есть массив int mass = {1,2,3,4,5,6,7,8,9} как сравнить переменную с массивом?


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

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

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