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

Функция strncmp - C++

Восстановить пароль Регистрация
 
Hunter9494
 Аватар для Hunter9494
21 / 18 / 3
Регистрация: 29.10.2012
Сообщений: 154
20.04.2014, 18:56     Функция strncmp #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    setlocale(LC_ALL,"Rus");
  char droids[][10] = { "R2D2" , "C3PO" , "R2A6" };                            // имеющиеся дроиды
 
  cout <<  "Ищете R2-дроида астромеханика...\n";
 
  for (int counter = 0 ; counter <= 2 ; counter++) // проход по дроидам
    if ( strncmp( droids[counter], "R2", 2 )==0 ) //сравниваем первые два символа строк
    {
  cout << "дроид [+_+] >> " << droids[counter] << "\n";
    }
    system("pause");
  return 0;
}
так работает)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    setlocale(LC_ALL,"Rus");
  char droids[][10] = { "R2D2" , "C3PO" , "R2A6" };                            // имеющиеся дроиды
 char k[2];
 cin.getline(k,2);
  cout <<  "Ищете R2-дроида астромеханика...\n";
 
  for (int counter = 0 ; counter <= 2 ; counter++) // проход по дроидам
    if ( strncmp( droids[counter], k, 2 )==0 ) //сравниваем первые два символа строк
    {
  cout << "дроид [+_+] >> " << droids[counter] << "\n";
    }
    system("pause");
  return 0;
}
а вот так нет ( Почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 18:56     Функция strncmp
Посмотрите здесь:

что за функция такая strstr? или это не функция? C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() C++
C++ Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
C++ При повторном использовании в strncmp не сохраняется введенный символьный массив
не работает strncmp - нет доступа к памяти C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,169
Завершенные тесты: 1
20.04.2014, 18:59     Функция strncmp #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Hunter9494 Посмотреть сообщение
char k[2];
надо char k[3];
3-ий символ - терминальный ноль
Hunter9494
 Аватар для Hunter9494
21 / 18 / 3
Регистрация: 29.10.2012
Сообщений: 154
20.04.2014, 19:05  [ТС]     Функция strncmp #3
Цитата Сообщение от zss Посмотреть сообщение
надо char k[3];
Странно , все равно не работает(

Добавлено через 3 минуты
Цитата Сообщение от Hunter9494 Посмотреть сообщение
Странно , все равно не работает(
А нет , если после ввода k , нажать на пробел все работает))
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,169
Завершенные тесты: 1
20.04.2014, 19:06     Функция strncmp #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
char k[3];
 cin.getline(k,3);
Yandex
Объявления
20.04.2014, 19:06     Функция strncmp
Ответ Создать тему
Опции темы

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