URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5870
[ Назад ]

Исходное сообщение
"sscanf"

Отправлено Fagot , 01-Ноя-06 14:18 
Не могу врубится. Не работает sscanf
Есть строка "Hello, world!"
char c1[10], c2[10];
sscanf(stroka, "%s,%s", c1, c2);
Если сделать sscanf(stroka, "%s %s", c1, c2) то всё нормально.

Содержание

Сообщения в этом обсуждении
"sscanf"
Отправлено JetSnaiL , 01-Ноя-06 14:40 
>Не могу врубится. Не работает sscanf
>Есть строка "Hello, world!"
>char c1[10], c2[10];
>sscanf(stroka, "%s,%s", c1, c2);
>Если сделать sscanf(stroka, "%s %s", c1, c2) то всё нормально.

Лень проверять, но, кажется, что ты забыл пробел в первом случае. Попробуй "%s, %s".


"sscanf"
Отправлено Fagot , 01-Ноя-06 20:40 
>>Не могу врубится. Не работает sscanf
>>Есть строка "Hello, world!"
>>char c1[10], c2[10];
>>sscanf(stroka, "%s,%s", c1, c2);
>>Если сделать sscanf(stroka, "%s %s", c1, c2) то всё нормально.
>
>Лень проверять, но, кажется, что ты забыл пробел в первом случае. Попробуй
>"%s, %s".

Нет, не работает, я сразу попробывал.


"sscanf"
Отправлено СергейК , 01-Ноя-06 22:01 
Iznachalnyy variant ne rabotaet, tak kak pri ispolzovanii formata "%s, %s", pervaia
%s 'zahvatyvaet' vse simvoly do pervogo probela!, a sootvetstvenno sleduyushaia chast' format'a ne nahoditsia.

tak chto varianta dva:
1)
#include <stdio.h>
int main()
{
    char s[]="Hello , world!";
    char c1[110], c2[110];
    int n =sscanf(s, "%s , %s", c1, c2);
    fprintf(stdout,"%d | %s | %s", n, c1, c2);
}

$ ./a.out
2 | Hello | world!

2)
#include <stdio.h>
int main()
{
    char s[]="Hello, world!";
    char c1[110], c2[110];
    int n =sscanf(s, "%s %s", c1, c2);
    fprintf(stdout,"%d | %s | %s", n, c1, c2);
}

$ ./a.out
2 | Hello, | world!