реклама на сайте
подробности

 
 
> scanf и разделитель "точка с запятой"
megajohn
сообщение Nov 12 2015, 09:17
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



есть строка "abc;123;"
не получается распарсить, пробовал и "%[^;]s%d;" и "%[^;]s;%d;"

как задать правильно строку форматирования ? ( менять ';' на ' ' ой как не хочется, хоть и работает )

Код
void scanf_test( void )
{
    char src[] = "abc;123;";
    char dest_str[4];
    int dest_int;
    int sscanf_ret;
    sscanf_ret = sscanf( src, "%s;%d;", dest_str, &dest_int );
    printf( "sscanf_ret1=%d" "\n", sscanf_ret );
    sscanf_ret = sscanf( src, "%[^;]s%d;", dest_str, &dest_int );
    printf( "sscanf_ret2=%d" "\n", sscanf_ret );
    sscanf_ret = sscanf( src, "%[abc]s%d;", dest_str, &dest_int );
    printf( "sscanf_ret3=%d" "\n", sscanf_ret );
    sscanf_ret = sscanf( src, "%[^;]s;%d;", dest_str, &dest_int );
    printf( "sscanf_ret4=%d" "\n", sscanf_ret );
}


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 00:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016