Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 7

Sscanf

13.05.2017, 18:58. Показов 1575. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как заставить sscanf парсить строку %s(%d) отдельно, а не все сразу как %s?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2017, 18:58
Ответы с готовыми решениями:

Sscanf в цикле
Вкратце, суть проблемы Есть текстовый файл, в котором есть n количество строк, которые идут в таком формате team 0 name Name1 team 0...

Не работает sscanf
Пишу загрузчик моделей формата obj. Но очень странно себя ведет функция sscanf_s. Вот снимок экрана, где ясно видно, что sscanf_s выдает не...

sscanf заборохлил
имеется 2 программы. в одной является валидной запись line = "v 1,000000 -1,000000 1,000000"; line = ' '; ...

13
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.05.2017, 18:59
А там пробел есть?
0
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 7
13.05.2017, 18:59  [ТС]
Был бы пробел я бы сюда не писал
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
13.05.2017, 19:02
Цитата Сообщение от Jellis Посмотреть сообщение
Как заставить sscanf парсить строку %s(%d) отдельно, а не все сразу как %s?
https://www.cyberforum.ru/c-beginners/
0
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 7
13.05.2017, 19:08  [ТС]
Я не считаю себя про программистом, да и с sscanf познакомился недавно, потому пишу здесь.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.05.2017, 19:14
Лучший ответ Сообщение было отмечено Jellis как решение

Решение

Если различия по цифрам достаточно, то так:
C++
1
"%[^1234567890]%d"
1
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 7
13.05.2017, 19:15  [ТС]
Печаль в том что %s может быть абсолютно любым символом, в т.ч. и круглой скобкой.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.05.2017, 19:16
Это не важно. В скобках указываются символы, которых не должно быть в строке.
1
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
13.05.2017, 19:22
Jellis, если длина подстроки известна, например, равна 3, то можно так: "%3s(%d)"
PC Вы не считаете себя программистом, но глаза-то у Вас есть? Здесь вопросы по С++...
0
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 7
13.05.2017, 19:22  [ТС]
Спасибо, [^] решило мою проблему
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.05.2017, 19:31
Цитата Сообщение от Jellis Посмотреть сообщение
Как заставить sscanf
Не стоит его ничего заставлять. Упрямая животное. И очень себе на уме. Одним словом, козюлистое.
Я бы вам посоветовал просто считать строку (gets, например), а дальше самостоятельно ее анализировать (парсить).
А в дальнейшем постараться забыть о существовании scanf. Лично я сделал это после 5-минутного знакомства с означенной функцией. И, кажется, ничего не потерял.
0
13.05.2017, 19:33

Не по теме:

Байт, нормальная функция.

0
Evg
13.05.2017, 19:35

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
А в дальнейшем постараться забыть о существовании scanf. Лично я сделал это после 5-минутного знакомства с означенной функцией. И, кажется, ничего не потерял.
+1.

0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.05.2017, 19:50

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Байт, нормальная функция.
Завидую мазохистам.:)



Добавлено через 12 минут
Об этом уже писалось. Еще разок.
scanf был задуман, как зеркальное отражение printf. И в этом смысле он весьма хорош. Он с большим удовольствием схавает выведенное принтфом. Робот роботу глазу не выклюет. Но для общения с непредсказуемым десятипальцевым юзером он совершенно не годится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2017, 19:50
Помогаю со студенческими работами здесь

Ошибка в sscanf
Доброго времени суток. Возникла ошибка в следующем коде: #include <iostream> #include <string.h> #include...

Работа sscanf
Мне нужно распарсить файл с такими строками: Element1\tElement2\tElement3\tElement4\tElement5\n ...

Проблема с sscanf();
Я новичок в c++ поэтому не судите строго. Есть у меня такой код: int lvl; char name; char text = "LOL;1"; ...

Работа функции sscanf
Есть у меня функция, написанная ниже. Она работает, но возникает вопрос: как функция sscanf умудряется записать в интовую переменную всю...

Неверная работа sscanf
void mul(long long a, int y, int p, char *input) { memset(a, 0, sizeof(int)*11112); char temp; int i = strlen(input), j = 0, k; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru