C 我在使从DD.MM.YYYY日期返回一年中的某一天的程序动态化时遇到问题
我试图使代码动态化,但出现了一个错误。代码的主要目标是动态的(我阅读了有关malloc和其他人的文献,但我不知道如何正确使用它。我想你会帮我一点忙) } 这是可行的,但我需要动态结构或数组C 我在使从DD.MM.YYYY日期返回一年中的某一天的程序动态化时遇到问题,c,structure,dynamic-programming,C,Structure,Dynamic Programming,我试图使代码动态化,但出现了一个错误。代码的主要目标是动态的(我阅读了有关malloc和其他人的文献,但我不知道如何正确使用它。我想你会帮我一点忙) } 这是可行的,但我需要动态结构或数组 int date_arr[DATE_MAX]; char date_str[10]; gets(date_str); char sep[] = "."; char* pos = strtok(date_str, sep); int i = 0; while (pos != NULL) { date_
int date_arr[DATE_MAX];
char date_str[10];
gets(date_str);
char sep[] = ".";
char* pos = strtok(date_str, sep);
int i = 0;
while (pos != NULL) {
date_arr[i] = atoi(pos);
printf("%d ", date_arr[i]);
i++;
pos = strtok(NULL, sep);
}
int d_day = date_arr[0];
int d_month = date_arr[1];
int d_year = date_arr[2];
DATE res = Date(d_day, d_month, d_year);
printf("\n\nThe day of year is: = %d", res.day);
Gap();
printf("The string date is: %d of %s of %d", d_day, res.month, res.year);
,,
第二幅图像上的错误是关于wntdll.pdb未加载的和.exe文件导致停止点
char*data\u输入=(char*)malloc(sizeof(char))代码>将分配一个字符。我认为您需要更多,并且不要忘记C中字符串的终止空字符。请提供一个示例并提出一个具体问题。我不清楚你需要回答什么具体问题。如果你有错误信息,请提供完整的错误信息。请不要注意日期函数及其编号、索引的详细信息:get(Date\u str)代码>函数:gets()
多年来一直在贬值,几年前已从C语言中完全删除。您的编译器应该已经告诉您这个问题。发布的代码没有考虑到以下事实:一些国家将日期写为MM/DD/YYYY,而另一些国家将日期写为:DD/MM/YYYY
char* dates_arr = (char*)malloc(sizeof(char)* 6);
char* data_entered = (char*)malloc(sizeof(char) * 10);
if (dates_arr) {
int counter = 3;
char sep[] = ".";
for (int c = 0; c < counter; c++) {
gets(data_entered);
char* pst = strtok(data_entered, sep);
int i = 0;
while (pst != NULL) {
dates_arr[i] = atoi(pst);
i++;
pst = strtok(NULL, sep);
}
free(data_entered);
int d_day = dates_arr[0];
int d_month = dates_arr[1];
int d_year = dates_arr[2];
DATE res = Date(d_day, d_month, d_year);
printf("\n\nThe day of year is: = %d", res.day);
Gap();
printf("The string date is: %d of %s of %d", d_day, res.month, res.year);
Gap();
Beautify();
free(dates_arr);
}
}
else {
printf("\n\n\nOOPS");
return 0;
}
int date_arr[DATE_MAX];
char date_str[10];
gets(date_str);
char sep[] = ".";
char* pos = strtok(date_str, sep);
int i = 0;
while (pos != NULL) {
date_arr[i] = atoi(pos);
printf("%d ", date_arr[i]);
i++;
pos = strtok(NULL, sep);
}
int d_day = date_arr[0];
int d_month = date_arr[1];
int d_year = date_arr[2];
DATE res = Date(d_day, d_month, d_year);
printf("\n\nThe day of year is: = %d", res.day);
Gap();
printf("The string date is: %d of %s of %d", d_day, res.month, res.year);