我是新的C和IM在一個奇怪的情況下使用char型日期:我試圖更新我曾作爲字符串輸入日期和我的代碼是問題在C
typedef struct Employee
{
char fname[20];
char lname[20];
int eme_id;
int emr_id;
char department[20];
int age;
char join_date[20];
float bsal;
float pol_value;
char pol_start_date[20];
char pol_end_date[20];
float premium;
float pre_payment;
char pre_pay_date[20];
int pre_status;/* 0 then not paid 1 then paid*/
float bonus;
}Employee;
char *update_date(char *dat)
{
char *result = NULL;
printf(dat);
result = strtok(dat, "/");
int date[3];
int i=0;
while(result != NULL) {
printf("result is \"%s\"\n", result);
date[i] = atoi(result);
printf("%d\n", date[i]);
i++;
result = strtok(NULL, "/");
}
if(date[1]!=12)
{
date[1]++;
}
else
{
date[1]=1;
date[2]++;
}
char a[20];
char b[20];
char c[20];
char d[20];
sprintf(a, "%d", date[0]);
sprintf(b, "%d", date[1]);
sprintf(c, "%d", date[2]);
strcpy (d,a);
strcat (d,"/");
strcat (d,b);
strcat (d,"/");
strcat (d,c);
printf(d);
return d;
}
這裏此功能工作得很好,但是當IM調用它的側像
while(fread(&eme,recsize_eme,1,fq)==1)
{
char *hell;
hell = update_date(eme.pre_pay_date);
printf("%s",hell);
}
其他功能,現在它打印的任意文本..:/ PLZ有人幫我出
爲什麼包含Employee結構?它有什麼相關性? –
員工結構是組織中必須是唯一的(我確保)員工的結構,** eme **是Employee結構的一個實例,並且我想在一個月前編輯eme.pre_pay_date,這不會發生在第一種情況 – Abhishek