Форум С++

 

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

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

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

Автор: EXP   (29.01.2008 в 09:34)
решил не заводить новую тему...
тоже вроде из простого :)
Как строку раможно разбить на переменные или массив , что-бы получилось с типа integer ?

#include <stdio.h>
#include <stdlib.h>

int main()
{
char *str = "31 12 1999";
int tm1[2], tm2[2], tm3[4]; // здесь если убрать [...]  с ошибкой получается
int *tm[] = {tm1, tm2, tm3};

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

sscanf(str, "%s %s %s", tm[0], tm[1], tm[2]);  // а здесь если %s поменять в переменную попадает мусор
printf("%s<hr> \n%s<hr> \n%s<hr>\n", tm[0], tm[1], tm[2]);

if (31 < tm[0] < 1 || 12 < tm[1] < 1 || 2008 < tm[2] < 1970) printf("\n\n\n\nerror\n");
/* тут ошибка из-за того что не int */

system("PAUSE");
return 0;
}

получается разбить так , но желательно int

ижелательно вместо пробела использовать например ; но тогда sscanf не работает


Ваше имя:

Пароль:

Цитировать

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

Сообщение:

Прикрепить: