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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели и динамические массивы. Использование указателей в качестве аргументов функций http://www.cyberforum.ru/cpp-beginners/thread780398.html
Из целочисленного массива Х(N) все нечетные элементы записать в массив Y(k). Удалить из каждого массива все простые двузначные числа. Найти, как изменилось количество простых чисел в каждом массиве...
C++ Ошибка: нарушение прав доступа при чтении Помогите решить ошибку, если отдельно вызывать функции double det(macierz *A,macierz*B,int u) void kramer(macierz A,macierz *B) в мейне, то все прекрасно работает, как только задействую цыкл... http://www.cyberforum.ru/cpp-beginners/thread780380.html
C++ Конструктор и деструктор
На сколько сильно они нужны и можно ли обойтись без них? Что будет если их не описывать? Что такое утечки памяти? Память забивается только на время выполнения программы или дольше?
C++ Не работают функции inport и outport
Всем здравствуйте. Пишу код который должен будет выполняться под 16-битной DOS. Пишу его в Borland C++ 5.02. Подключаю "dos.h" в котором задефайнены функции inport и outport. При компиляции...
C++ Используя только элементарные арифметические операции, определить сумму и произведение членов последовательности, которые кратны К http://www.cyberforum.ru/cpp-beginners/thread780324.html
Ув.пользователи, помогите решить задачку (С + + или Visual C + +). Данные целые положительные числа N, К, a1, ..., aN. Используя только элементарные арифметические операции (+, -, *, /), определить...
C++ Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) Ув.пользователи, помогите решить задачку (С + + или Visual C + +), очень нужно!( Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) определить количество... подробнее

Показать сообщение отдельно
SteeLHeaD
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 27

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

06.02.2013, 14:54. Просмотров 365. Ответов 4
Метки (Все метки)

Сегодня мне понадобилось вызвать программу с аргументом команднйо строки
я посмотрел пример на
http://www.cplusplus.com/forum/beginner/35344/
и попробовал написать так же:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once
#include "stdafx.h"
#include "binder.h"
#include "logger.h"
#include <string>
#include <boost/lexical_cast.hpp>
using namespace std;
 
 
int main(int argc, char *argv[])
{
    if (argc!=2)
    {
        printf ( "Please, select config name: 'Pod02.exe 1' or 'Pod02.exe 2'");
        return 0;
    }
    else
    {
        printf ("%s", argv[1] );
        if ( argv[1]=="1" )
        {
          Бла бла бла;
        }
        if ( argv[1]=="2" )
        {
          Бла бла бла 2;
        }
    }
    return 0;
}
Использую Visual Studio 2010, задал при отладке подставлять "1" в качестве аргумента командной строки.
В результате: строка printf ("%s", argv[1] ); честно выводит "1".
А условие if ( argv[1]=="1" ) не выполняется, то есть до кода Бла бла бла; программа не доходит.
В чем может быть дело?

( я подозреваю, что разница в инклудах - то есть у меня работает "какой то другой оператор сравнения строк", чем в примере. Но как мне тогда добиться того же эффекта с моими инклудами? они мне нужны для кода Бла бла бла; )
Спасибо заранее.

Добавлено через 9 минут
Дополнение.
Интересно, что при помощи такого извращения
C
1
if ( boost::lexical_cast<std::string>( argv[1] )=="1")
я смог правильно сравнить строки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru