Date *date_create(char *datestr);
struct datestr {
int date;
int month;
int year;
}
char *datestr = (char*)malloc(sizeof(char)*size);
date_create
从datestr
datestr
的形式为“dd / mm / yyyy”基本上我在创建部分遇到一些问题我需要一些帮助来创建让我们说一个输入02/11/2013然后这个数据将被添加到指针然后我必须用块显示它们例如02表示日期,11表示月份和2013年表示...任何想法如何从这里继续?我将不得不使用malloc函数?
答案 0 :(得分:0)
答案 1 :(得分:0)
也许是这样的
typedef struct
{
int day;
int month;
int year;
}
datestructure;
datestructure date_create(const char *datestr)
{
datestructure ret; // return value
char* datestrDup = strdup(datestr); // alloc/copy
ret.day = strtok(datestrDup,"/");
ret.month = strtok(NULL,"/");
ret.year = strtok(NULL," ");
free(datestrDup);
return ret;
}
答案 2 :(得分:0)
试试这个,并尝试弄清楚它对你的书的作用:
typedef struct _dates
{
int date;
int month;
int year;
} DateStr;
DateStr * date_create(char *datestr);
int main(int argc, char* argv[])
{
DateStr *result;
char inputString[100];
printf("Enter the date: ");
if (gets(inputString))
{
result = date_create(inputString);
if (result)
{
printf("Parsed date is Date:%d, Month:%d, Year:%d",result->date, result->month, result->year);
}
}
return 0;
}
DateStr * date_create(char *datestr)
{
DateStr * date = (DateStr *)malloc(sizeof(DateStr));
if (date)
{
sscanf(datestr, "%d/%d%/%d",&date->date, &date->month, &date->year);
}
return date;
}