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

Вместо 1-го символа, нужно чтобы 2 символа считывалось! - C++

Восстановить пароль Регистрация
 
coder2
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 312
01.03.2014, 20:41     Вместо 1-го символа, нужно чтобы 2 символа считывалось! #1
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
#include <stdio.h>
#include <string.h>
 
int main()
{
    char str[512];
    char c;
    char *word;
    const char delim[] = " ";
 
    printf("input character: ");
    c = fgetc(stdin);
 
    scanf("%*[^\n]");
    scanf("%*c");
 
    printf("input string: ");
    fgets(str, sizeof(str), stdin);
 
    word = strtok(str, delim);
    while (word != NULL) {
        if (strchr(word, c) != NULL)
            printf("%s\n", word);
        word = strtok(NULL, delim);
    }
 
    return 0;
}
Помогите, ввожу с клавы 2 символа, а когда идет отбор самих слов, то он делает только с первого символа. А надо чтобы отбор происходил по сочетанию 2-х символов.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 20:41     Вместо 1-го символа, нужно чтобы 2 символа считывалось!
Посмотрите здесь:

C++ Нужно вычислить номер позиции первого значащего символа
Указатели, почему выводится строка вместо символа? C++
2 символа s2 последние и средние 3 символа s1 - соединить C++
C++ Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
C++ Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом -
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vensus
 Аватар для Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
01.03.2014, 20:44     Вместо 1-го символа, нужно чтобы 2 символа считывалось! #2
неужели кнопка "C++" код такая незаметная... А еще если ты пишешь на языке C++, то зачем используешь вывод/ввод из языка C?
coder2
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 312
02.03.2014, 10:42  [ТС]     Вместо 1-го символа, нужно чтобы 2 символа считывалось! #3
up .
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
02.03.2014, 11:12     Вместо 1-го символа, нужно чтобы 2 символа считывалось! #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    char str[512];
    char c1,c2;
    char* word;
    const char delim[] = " ";
 
    printf("input character and press enter: ");
    c1 = fgetc(stdin);
    c2 = fgetc(stdin); // В c2 будет Конец строки '\n'
    // если надо прочитать еще символ, то добавьте такую же строку
    printf("input string: ");
    fgets(str, sizeof(str), stdin);
 
    word = strtok(str, delim);
    while (word != NULL) 
    {
        if (strchr(word, c1) != NULL)
            printf("%s\n", word);
        word = strtok(NULL, delim);
    }
    getch();
    return 0;
}
Yandex
Объявления
02.03.2014, 11:12     Вместо 1-го символа, нужно чтобы 2 символа считывалось!
Ответ Создать тему
Опции темы

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