¿Cómo leer la fecha del sistema y guardarla en un archivo txt usando C++? Proporcione el código detallado (incluidos los archivos de encabezado), ¡gracias!
// timeRead.cpp: Define el punto de entrada de la aplicación de consola.
//
#include "stdafx.h"
#include "timeRead.h"
#include
#include
#ifdef _DEBUG
#define new DEBUG_NEW
#undef ESTE_FILE
carácter estático ESTE_FILE[] = __FILE__;
#endif
//////////////////////////////// / /////////////////////////////////////////////////
//Objeto de aplicación único
CWinApp theApp;
Usar espacio de nombres estándar;
/*
* @ Func: escribe información en la secuencia de archivos en el formato time::content.
*/
void write(ostream &out, const CTime &t)
{
static int cnt = 0 // actual; Número de registros
CString szTmp;
// Insertar un identificador entre la hora y el contenido::. Inserta un identificador:: entre la hora y el contenido para separarlos y que sea más fácil extraer el contenido correspondiente a la hora
szTmp.Format("%s::Escribe %i registro en %s ", t.Format("%Y%m%d"), t.Format("%Y año %m mes %d día %H hora %M minuto %S segundo"), ++cnt);
out << LPCSTR(szTmp) << endl;
}
/*
* @Func: analiza información de formato, hora:: contenido e información de retorno
*
* @Parm [in] szRcdInfo: Registrar información.
Formato: hora:: contenido
* @Parm [out] szTime: parte de tiempo
* @Parm [out] szInfo: parte de contenido
* p>
* @Ret: verdadero significa que el formato es correcto, falso significa que el formato es incorrecto
*/
bool getInfo(const CString &szRcdInfo, CString &szTime, CString &szInfo ) p>
{
int index = szRcdInfo.Find("::", 0);
si (index == -1) devuelve falso;
szTime = szRcdInfo.Left(index);
szInfo = szRcdInfo.Mid(index+2);
Devuelve verdadero;
} p>
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
//Inicializa MFC e imprime información de error en caso de falla
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: cambie el código de error según sea necesario
cerr < < _T("GetModuleHandle(NULL)") < _T("Error fatal: falló la inicialización de MFC") < < endl;
nRetCode = 1;
}
else
{
// TODO: escribir aquí El código de comportamiento de la aplicación.
ofstream out("output.txt");
if (!out) { cerr << "Error al abrir el archivo salida.txt write" << endl; /p>
for (int i = 0; i < 10; ++i)
write(out, CTime::GetCurrentTime()); // CTime: : GetCurrentTime() se utiliza para obtener la hora actual del sistema
out.close();
// Leer el archivo
ifstream in("output.txt");
if (!in) { cerr << "Error al abrir el archivo output.txt read" << endl; return }
CString szRcdInfo, szTime, szInfo;
búfer de caracteres[100];
while(in.getline(búfer, 100)
{
szRcdInfo = búfer;
getInfo( szRcdInfo, szTime, szInfo);
cout.flags(cout.flags()|ios::left); // Establece la alineación a la izquierda, la alineación predeterminada es a la derecha
cout << "[Hora]"<< setw(10) << LPCSTR(szTime) <<"[contenido] " << LPCSTR(szInfo) << endl; /p>
}
return nRetCode;
}
El siguiente es el resultado en mi computadora:
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro 1
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro 2
[Hora] 20100830 [Contenido] Escrito el 30 ago 2010 15:21:08 Registro 2
[Hora] 20100830 [Contenido] Escrito el 2010 Escrito el 30 ago 2010 15 :21 :08 Registro #3
[Tiempo] 20100830 [Contenido] Escrito el 30/08/2010 15:21:08 Registro #4
[Tiempo] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro #5
[Hora] 20100830 [Contenido] Escrito el 30/08/2010 15:21:08 Registro 6
[Hora ] 20100830 [Contenido] Escrito el 30/08/2010 15:21:08 Registro 7
[Hora] 20100830 [Contenido] Escrito
el 30/08/2010 15:21:Graba 7
[Hora] 20100830 [Contenido] Escrito el 30/08/2010 15:21:08 Graba 7
[Hora] 20100830 [Contenido] Escrito el 30/08/2010 15:21:08 30 de agosto de 2010 Registro #8
[Hora] 20100830 [Contenido] Escrito a las 15:21:08 30 de agosto de 2010 Registro # 9
[Hora] 20100830 [Contenido] Escrito a las 15:21:08 30 de agosto de 2010 Registro #10