这样的输入格式应该怎么输入?
如题!
date::date(char *d) //用字符串初始化
{
scanf(d, "%d%*c%d%*c%d ",&month,&day,&year);
}
[解决办法]
这个东西有问题吧
scanf 可以这样?
[解决办法]
scanf要换成sscanf:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int month, day,year;
char d[100] = {0};
char s1[] = "12/21/2001 ";
char s2[] = "23*32:2004 ";
sscanf(s1, "%d%*c%d%*c%d ",&month,&day,&year);
printf( "%d %d %d\n ",month, day, year);
sscanf(s2, "%d%*c%d%*c%d ",&month,&day,&year);
printf( "%d %d %d\n ",month, day, year);
system( "pause ");
return 0;
}
[解决办法]
可以用 sprintf()吧?
[解决办法]
scanf( "%d%*c ",&i);
"* "格式控制符号,使读取一个指定格式的数据,并丢弃该数据。
scanf(d, "%d%*c%d%*c%d ",&month,&day,&year);
minth, day, year,中间存在一个字符的话都是可以的。
[解决办法]
11 30 1998 (即minth, day, year)
这三个数据之间允许一个任意字符 + 任意个空白字符(空格、回车、tab符)
[解决办法]
d是个c-style字符串,msdn里很清楚