首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这样的输入格式应该如何输入

2012-03-06 
这样的输入格式应该怎么输入?如题!date::date(char*d)//用字符串初始化{scanf(d, %d%*c%d%*c%d ,&month,

这样的输入格式应该怎么输入?
如题!
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里很清楚

热点排行