Red de conocimiento informático - Material del sitio web - ¿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!

¿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!

El siguiente es el código fuente del programa de consola basado en MFC. Si necesita el archivo cpp, dígame su dirección de correo electrónico.

// 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

*

* @Ret: verdadero significa que el formato es correcto, falso significa que el formato es incorrecto

*/

bool getInfo(const CString &szRcdInfo, CString &szTime, CString &szInfo )

{

int index = szRcdInfo.Find("::", 0);

si (index == -1) devuelve falso;

szTime = szRcdInfo.Left(index);

szInfo = szRcdInfo.Mid(index+2);

Devuelve verdadero;

}

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;

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