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

Оператор IF. Как сравнить *char' ы ? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 124, средняя оценка - 4.96
Jizer
2 / 2 / 0
Регистрация: 02.09.2010
Сообщений: 6
18.03.2011, 13:28     Оператор IF. Как сравнить *char' ы ? #1
У меня передаётся параметр при запуске через командную строку *argv[1], и сравнивается с уже заданным *char;

Вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <stdio.h>
#include <cstdlib>
 
using namespace std;
 
main(int argc, char *argv[])
{
    char *as2=argv[1]; 
    char *as3; 
    char par[]="asd";
    as3=par;
    cout << " Параметр=" << as2 << " as3=" << as3 << " par=" << par << endl;   // - проверочку сделал, для себя...
    if (as2==as3)
    {
        cout << "Всё хорошо:" << endl;
        cout << as2 << " = " << as3 << endl;
    }
    return 0;
}
По идее, в проверочке, видно, что всё совпадает, но IF не выполняется...
Вопрос - почему? И как исправить?
Помогите , пожалуйста, новичку.

Спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2011, 13:28     Оператор IF. Как сравнить *char' ы ?
Посмотрите здесь:

C++ Как сравнить переменную типа char
Объясните как правильно сравнить переменные типа char C++
C++ Сравнить char* c LPDWORD
C++ Как работает оператор char *! Спасибо заранее!
IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char> C++
C++ Как сравнить char*, зная длинну?
C++ Как сравнить два указателя типа char?
C++ Как переопределить оператор ++ типа char?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.03.2011, 13:34     Оператор IF. Как сравнить *char' ы ? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Jizer Посмотреть сообщение
if (as2==as3)
C++
1
2
3
4
5
#include <cstring>
//...
if ( ! strcmp(as2, as3) ){
  // строки одинаковые
//...
Jizer
2 / 2 / 0
Регистрация: 02.09.2010
Сообщений: 6
19.03.2011, 11:13  [ТС]     Оператор IF. Как сравнить *char' ы ? #3
Большое спасибо Вам, Андрей! Всё получилось.
Yandex
Объявления
19.03.2011, 11:13     Оператор IF. Как сравнить *char' ы ?
Ответ Создать тему
Опции темы

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