Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: exp   (29.01.2008 в 20:58)
разобрался почти,
оказывается в sscanf нехватало & перед переменными
и так 1>x>9 оказывается нельзя делать :)
#include <stdio.h>
#include <stdlib.h>

int main()
{
char *str = "31;12;1999";
unsigned int tm1, tm2, tm3;

printf("%s\n<hr>\n", str);

sscanf(str, "%u;%u;%u", &tm1, &tm2, &tm3);
printf("%02u<hr> \n%02u<hr> \n%i<hr>\n", tm1, tm2, tm3);

if (31 < tm1 || 12 < tm2 || 2008 < tm3 ) printf("\nerror\n");

system("PAUSE");
return 0;
}
но если строка будет "31;12;-1999" то sscanf её пропустит с минусом, printf нормально,


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: