Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
new_account
0 / 0 / 1
Регистрация: 01.08.2015
Сообщений: 10
#1

Чтение строк, разделённых пробелами, через scanf

18.10.2015, 21:23. Просмотров 1038. Ответов 2
Метки нет (Все метки)

В ходе решения задачи возникла проблема: нужно считывать строки, разделённые пробелами (как количество, так и их длина неизвестны, между строками может быть любое число пробелов). Конец ввода - '\n'. При этом, если читать через scanf, то он работает бесконечно, т. к. трактует '\n' как разделитель.
while (scanf("%s", st)) {
Нужно, чтобы при конце строки он останавливался.
Можно ли это как-то исправить без замены scanf на getchar?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2015, 21:23
Ответы с готовыми решениями:

Написать программу с использованием scanf\printf которая считует введенное с пробелами(не обяз. с рус. алфав.)
Или вместо scanf можно использовать sscanf, главное что бы вместе с пробелами...

Чтение символьных данных в scanf()
Всем привет! Имеется такой тривиальный код (я из начинающих):...

Чтение вещественного числа, функция scanf
Здравствуйте! Только начал знакомство с этим замечательным языком. Возникла...

Считывание чисел через пробел в массив через scanf
Здравствуйте! Очень вероятно что вопрос поднимался миллионы раз, но я ответы...

Не работает scanf в одной из строк
#include <stdio.h> int main() { int a, b, c, loop; char symbol; char...

2
zss
Модератор
Эксперт С++
6989 / 6551 / 4154
Регистрация: 18.12.2011
Сообщений: 17,286
Завершенные тесты: 1
18.10.2015, 21:49 #2
Лучший ответ Сообщение было отмечено new_account как решение

Решение

C
1
2
3
4
5
6
7
char c;
char s[100];
do
{
    scanf("%s%c", st,&c);
 ...
}while(c!='\n');
1
new_account
0 / 0 / 1
Регистрация: 01.08.2015
Сообщений: 10
18.10.2015, 22:16  [ТС] #3
Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2015, 22:16

Как пользоваться scanf для строк
хоть убей не могу понять как пользоваться scanf для строк, запарило одни ошибки...

Scanf работает через раз
Доброго времени суток При компиляции простой программы: #include <stdio.h>...

Инициализация структуры через scanf
Здравствуйте нужна помощь. как можно через функцию инициализировать структуру...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru