-1
Мне нужно прочитать с клавиатуры дату в формате DD.MM.YYYY и перепечатать как MM-DD-YYYY. Есть ли какое-либо другое решение, использующее цикл и точечный тест? Спасибо!DD.MM.YYYY в MM-DD-YYYY в C
Мне нужно прочитать с клавиатуры дату в формате DD.MM.YYYY и перепечатать как MM-DD-YYYY. Есть ли какое-либо другое решение, использующее цикл и точечный тест? Спасибо!DD.MM.YYYY в MM-DD-YYYY в C
Лучшее решение, и, вероятно, то, что вы ищете
struct tm *tm;
char str_date[100];
char input_data[] = "20-20-2015";
// Extract date from a string to a tm struct
strptime(input_data, "%d.%m.%Y", tm);
// Convert tm struct to string and print it
strftime(str_date, sizeof(str_date), "%m-%d-%Y", tm);
printf("Date: %s", str_date);
Вы можете прочитать больше о strftime и strptime.
Если вы не хотите делать какие-либо проверки (для того, чтобы проверить, если дата существуют), и вобще читать репринт:
scanf("%d.%d.%d",&d,&m,&y);
printf("%d-%d-%d,m,d,y);
необязательно можно указать их точные размеры, используя что-то например %2d.%2d.%4d
Вы можете использовать примитивный подход 'out [0] = in [3]; out [1] = in [4]; out [3] = '.'; ...' – CodesInChaos