Ввел код: std::time_t t = std::time(0);
std::tm* local = std::localtime(&t);
std::cout << std::put_time(local, "%F") << std::endl;
std::cout << std::put_time(local, "%T") << std::endl;
но visual studio ругается. Как написать такой код (часы) на с++ чтобы ни один компилятор не ругался. Прошу, в ответе дайте правельный код, чтобы он делал эту же задачу
C/C++
Срочно. Часы на с++
Под Windows в Microsoft стандартная библиотека C имеет ряд существенных отличий, которые заключаются в использовании безопасных функций с суффиксом _s, возвращающие код ошибки либо 0 при успешном завершении. Стандарт языка и стандарт для библиотеки – это разные вещи и рассчитывать, что все библиотеки будут одинаково работать, не приходится. Поэтому в таких случаях используют условную компиляцию, в основу которой положены директивы препроцессора. Это первое. Второе, это то, что нет особой необходимости писать кроссплатформенный код в консоли с выводом текстовой информации. Есть, конечно, системные утилиты, которые позволяют в режиме командной строки вести диалог, но это, главным образом, позволяет отдавать команды и получать информацию о их выполнении. В остальных случаях используется GUI. Консольные приложения используются для обучения программированию и уделять пристальное внимание локализации и кроссплатформенности не стоит, если конечно вы не обучаетесь написанию кроссплатформенного кода или локализации. C/C++ изначально предназначены для системного программирования, а устройствам, т. е. железу ввод/вывод не нужен. Они читать с монитора не умеют. У них глазки отсутствуют.
Это рабочий код, хоть в современном C++ лучше использовать < chrono >
А что он у Вас не компилируется в Visual Studio - скорее всего не так проект создали.
А это уже проблемы не кода. Ну и в любом случае стоило написать какую ошибку выдал VS.
В абсолютно любом - скорее всего не получится. Стандарты менялись. Н-р put_time доступна с 11 стандарта, соотв. в старых компиляторах не работает, с другой стороны в совсем старых компиляторах нет пространства std. Соотв. всё что std:: вызовет ошибки. А без std не будет работать в новых. Ну или опять-же в старых компиляторах надо подключать заголовки с .h (н-р include < iostream. h > и т. д.
Пруф:
https://onlinegdb.com/fe3J_90j4

А что он у Вас не компилируется в Visual Studio - скорее всего не так проект создали.
А это уже проблемы не кода. Ну и в любом случае стоило написать какую ошибку выдал VS.
В абсолютно любом - скорее всего не получится. Стандарты менялись. Н-р put_time доступна с 11 стандарта, соотв. в старых компиляторах не работает, с другой стороны в совсем старых компиляторах нет пространства std. Соотв. всё что std:: вызовет ошибки. А без std не будет работать в новых. Ну или опять-же в старых компиляторах надо подключать заголовки с .h (н-р include < iostream. h > и т. д.
Пруф:
https://onlinegdb.com/fe3J_90j4

А куда вы его вводили и было ли там написано что либо, помимо этого кода?
Похожие вопросы
- Нужно срочно решить задачу на C++
- Составить программу c++ срочно пожалуйста
- Срочно!!! Помогите пожалуйста написать код к задачке на с++! Заранее спасибо!
- С++. Срочно пожалуйста помогите
- Как создать часы показывающие вымышленное время?
- Что нужно добавить в код, с++, очень нужно срочно
- Срочно нужна помощь (Дана строка, содержащая зашифрованный русский текст. решить нужно на с++
- ПОМОГИТЕ ОЧЕНЬ СРОЧНО C++
- ПОМОГИТЕ ОЧЕНЬ СРОЧНО C++.
- Одномерный массив нужна программа срочно)
#include < ctime >
#include < iomanip >
using namespace std;
int main() {
std::time_t t = std::time(0);
std::tm* local = std::localtime(&t);
std::cout << std::put_time(local, "%F") << std::endl;
std::cout << std::put_time(local, "%T") << std::endl;
return 0;
}