Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

sscanf - считывание строк с пробелами

284
15 декабря 2006 года
michael_is_98
587 / / 25.02.2005
У меня такой вопрос
есть строка файла m3u
#EXTINF:253,Агутин Леонид - Летний дождь
мне нужно считать ее элементы - строка #EXTINF, длительность и заголовок ("Агутин Леонид - Летний дождь").
Делаю так
 
Код:
char zagl_pesni[250],extinf_zagol1[8];
// формат разбора строки из m3u
const char*format="%7s:%d,%249s";
sscanf(extinf,format,extinf_zagol1,&i,zagl_pesni);

При таком формате считывается строка #EXTINF,длительность, но заголовок считывается до первого пробела, хотя в формате указана длина поля 249. Т.е. в zagl_pesni будет "Агутин".
Как-то можно это исправить?
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Вроде, работает. Единственное неудобство - с обнулением строки zagl_pesni

 
Код:
char zagl_pesni[250],extinf_zagol1[8];

memset(zagl_pesni, 0x00, 250);

const char*format="%7s:%d,%249c";
sscanf(extinf, format, extinf_zagol1, &i, zagl_pesni);
284
15 декабря 2006 года
michael_is_98
587 / / 25.02.2005
Спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог