¿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 lt;fstreamgt;
#include lt;iomanipgt;
#ifdef _DEBUG
#definir nuevo DEBUG_NEW
#undef ESTE_FILE
carácter estático ESTE_FILE [] = __FILE__;
#endif
////////////////////////////// / ///////////////////////////////////////////////// / p>
// El único objeto de aplicación
CWinApp theApp;
usa el espacio de nombres std;
/*
* @Func: escribe información en la secuencia del archivo en el formato time::content.
*/
escritura nula (ostream amp;out, const CTime amp;t)
{
static int cnt = 0 ; // Número de registro actual
CString szTmp;
// Inserta un identificador entre la hora y el contenido. Insertar un identificador:: entre la hora y el contenido, separándolos para que sea más fácil extraer el contenido correspondiente a la hora
szTmp.Format("s::Wrote i record in s", t . Format("Ymd"), t.Format("Y año m mes d día H hora M minuto S segundo"), cnt
out lt; p>
}
/*
* @Func: analizar información de formato, hora:: contenido e información de retorno
*
* @Parm [in] szRcdInfo: Información del registro.
Formato: hora: :content
* @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 amp; szRcdInfo, CString amp; szTime, CString amp; szInfo)
{
int index = szRcdInfo.Find("::", 0);
if ( index == - 1) devolver falso;
szTime = szRcdInfo.Left(index);
szInfo = szRcdInfo.Mid(index 2); p>
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0 ;
p>// Inicializa MFC e imprime información de error en caso de falla
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: Cambiar el código de error según sea necesario
cerr lt; _T("GetModuleHandle(NULL)") _T(" Error fatal: Error en la inicialización de MFC") lt; lt; endl;
nRetCode = 1;
}
else
{
// TODO: Codifique aquí el comportamiento de su aplicación.
ofstream out("salida.txt");
if (!out) { cerr lt; "Error al abrir el archivo salida.txt" lt; return 1; }
for (int i = 0; i lt; 10; i)
escribir(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 lt; lt; "Error al abrir el archivo output.txt" lt; , szInfo ;
char buffer[100];
while(in.getline(buffer, 100)
{
szRcdInfo = buffer;
getInfo( szRcdInfo, szTime, szInfo);
cout.flags(cout.flags()|ios::left); alineación derecha
cout lt; "[Tiempo]" lt; setw(10) lt; LPCSTR(szTime) lt; szInfo) lt ;lt; endl;
}
}
return nRetCode
}
A continuación se muestran los resultados de salida de mi computadora en:
[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 de agosto de 2010 15:21:08 Registro 2
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Grabar 2
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21 :08 Escribir 3
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Escrito 4
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 5
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro 6
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15: 21:08 Grabación 7
[Hora] 2010
0830 [Contenido] Escrito el 30 de agosto de 2010 15: Registro 7
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro 7
[Hora ] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro #8
[Tiempo] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21 :08 Registro #9
[Hora] 20100830 [Contenido] Escrito el 30 de agosto de 2010 15:21:08 Registro #10