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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
gornD
1 / 1 / 0
Регистрация: 13.12.2016
Сообщений: 9
#1

Как остановить поток данных - C (СИ)

11.01.2017, 12:25. Просмотров 117. Ответов 2
Метки нет (Все метки)

Всем привет!
Нужно записать поток данных введенных с клавиатуры в массив.
Получилось так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#define SIZE 255
int main(void)
{
    char ch[SIZE];
    int x;
    
    printf("Введите фразу: ");
    for (x=0; x < SIZE; ++x)
        scanf("%c", &ch[x]);
    printf("\n");
    printf("Вы ввели фразу: ");
    for (x=0; x < SIZE; ++x)
        printf("%c", ch[x]);
    
    return 0;
}
Подскажите пожалуйста как остановить поток данных путем нажатия клавиши ENTER?
Нужно реализовать с помощью scanf().
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2017, 12:25     Как остановить поток данных
Посмотрите здесь:

Запись пробелов вместе с вводом данных через поток ввода/вывода C (СИ)
C (СИ) Найти минимальный элемент матрицы и вывести в поток
C (СИ) Как остановить программу в конце?
Поток C (СИ)
C (СИ) Поток данных: Найти сумму компонент файла f; последнюю компоненту файла
C (СИ) С чем именно связан поток stdin?
C (СИ) Как остановить цикл сообщением об ошибке при делении на ноль и вернуться в начало программы
Как остановить выполнение программы до нажатия клавиши? C (СИ)
Сколько раз можно открыть файл в программе? Как инициализировать поток? C (СИ)
Как остановить ввод текста C (СИ)
Как очистить поток ввода посредством fflush? C (СИ)
Как задействовать поток вывода на принтер stdprn? C (СИ)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
codeuser
0 / 0 / 3
Регистрация: 09.01.2017
Сообщений: 10
11.01.2017, 14:28     Как остановить поток данных #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
gornD, здравствуйте. Со scanf() получилось так. Символ '\n' тоже записывается в массив.
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
#include <stdio.h>
#include <locale.h>
#define SIZE 255
int main()
{
    char ch[SIZE];
    int x;
 
    setlocale(LC_ALL, "Russian");
    printf("Введите фразу: ");
    x = 0;
    while(x < SIZE-1 && scanf("%c", &ch[x]) && ch[x]!='\n')
    {
        ++x;
    }
    ch[x] = '\0';
    printf("\n");
    printf("Вы ввели фразу: ");
    for (x=0; ch[x]!='\0'; ++x)
    {
        printf("%c", ch[x]);     
    }
    getchar();
 
    return 0;
}
gornD
1 / 1 / 0
Регистрация: 13.12.2016
Сообщений: 9
11.01.2017, 15:18  [ТС]     Как остановить поток данных #3
codeuser, спасибо большое! очень выручаете.
Yandex
Объявления
11.01.2017, 15:18     Как остановить поток данных
Ответ Создать тему
Опции темы

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