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

ssprintf() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Ky
2 / 2 / 0
Регистрация: 23.05.2010
Сообщений: 5
22.10.2010, 01:48     ssprintf() #1
В строке buf "число число текст текст"
Например "3 1 ксюша Привет как дела?!"
И соответственно раскладываю её по параметрам:

C++
1
2
3
4
int a,b;
char nick[20];
char str[100];
sscanf(buf, "%i %i %s %s", &a, &b, &nick, &str);
Проблема в том что в последний str[] записывается только первое слово "Привет", а нужно чтобы туда записалось всё вплоть до конца строки '\0' т.е "Привет как дела?!".

Понимаю что надо как то задавать формат, но порывшись в книгах ничего внятного не нашел.
Подскажите как правильно, или может альтернативный вариант чтения параметров из строки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.10.2010, 05:40     ssprintf() #2
ssprintf ?

есть fprintf, printf, sprintf и ещё ряд, который относится к списку аргументов

попробуй книгу K&R2

C
1
sscanf(buf, "%d %d %19s %99[^\n]", &a, &b, nick, str);
Ky
2 / 2 / 0
Регистрация: 23.05.2010
Сообщений: 5
22.10.2010, 14:22  [ТС]     ssprintf() #3
Да я имел ввиду конечно sscanf просто в голове немного попуталось

%99[^\n] - спасибо, то что надо, работает теперь норм!
Yandex
Объявления
22.10.2010, 14:22     ssprintf()
Ответ Создать тему
Опции темы

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