风气网

c语言 取得cpu日期 格式为YYYYMMDD

2024-09-20来自:本站整理
C语言 YYYYMMDD 格式的日期转变为YYYY-MM-DD

#include
void main()
{
long n;
char data[20],y[10],m[10],d[10];
scanf("%ld",&n);
sprintf(data,"%ld",n); /* 如果是字符串,可以直接scanf("%s",data) */
sscanf(data,"%4s%2s%2s", y, m,d);
sprintf(data,"%4s-%2s-%2s",y, m,d);
printf("%s
",data);
}

耐心看看啊,运行通过啦,希望对你有帮助啊!
#include
unsigned int veax;
unsigned int vebx;
unsigned int vedx;
unsigned int vecx;
//执行CPUID指令
void cpuid(unsigned int veax1)
{
_asm{
mov eax,veax1
cpuid
mov veax,eax
mov vebx,ebx
mov vecx,ecx
mov vedx,edx
}
}

//做移位操作,把寄存器中的ASCII码,以字符形式输出
void LeftMove(unsigned int var)
{
printf("%c",var);
for(int i=0;i<3;i++)
{
var=(var>>;
printf("%c",var);
}
}

//做移位操作,把寄存器中的值以“%d”形式输出
void LM(unsigned int var)
{
printf("%d",var);
for(int i=0;i<3;i++)
{
var=(var>>;
printf("%d",var);
}
}

//得到CPU的生产厂商(当EAX值为0时),依次存放在EBX,EDX,ECX中
void getCpuName()
{
cpuid(0);
LeftMove(vebx);
LeftMove(vedx);
LeftMove(vecx);
printf("
";
}

//得到CPU的商标,当EAX中的值为0x80000003和0x80000004时分别返回16个字符,组成商标
//依次存放在EAX,EBX,ECX,EDX中
void getCpuBrand()
{
for(int j=0;j<2;j++)
{
cpuid(0x80000003+j);
LeftMove(veax);
LeftMove(vebx);
LeftMove(vecx);
LeftMove(vedx);
}
printf("
";
}

//获得CPU的特性,参数是eax = 1,返回值放在edx和ecx,通过验证edx或者ecx的某一个bit,
//可以获得CPU的一个特性是否被支持。比如说,edx的bit 32代表是否支持MMX,
//edx的bit 28代表是否支持Hyper-Threading,ecx的bit 7代表是否支持speed sted。
void getCpuFeature()
{//由于特性太多,无法一一编写,需要的时候再写,方法是一样的。

}

//获得CPU序列号,获得序列号需要两个步骤,首先用eax = 1做参数,返回的eax中存储序列号的高两个WORD。
//用eax = 3做参数,返回ecx和edx按从低位到高位的顺序存储前4个WORD。
void getCpuSeris()
{
cpuid(1);
LM(veax);
cpuid(3);
LM(vecx);
LM(vedx);
printf("
";
}
void main()
{
getCpuName();
getCpuBrand();
getCpuSeris();
}

使用 strftime(),配合格式 "%Y%m%d" 即可。注:如果月、日只有一位数,它会自动补前面的0。

#include <stdio.h>#include <time.h>
int main()
{
time_t tm;
char buf[80];
tm = time(NULL);
strftime(buf, sizeof(buf), "%Y%m%d", localtime(&tm));
printf("%s\n", buf);
return 0;
}

#include <time.h>
#include <stdio.h>
main() {
time_t tm;
struct tm *t;
tm = time(NULL);
tm -= 86400;
t = localtime(&tm);
printf("%04d %02d %02d\n",(t->tm_year + 1900),t->tm_mon,t->tm_mday);
}

  • [曲茗柴17131776328] - c语言 取得cpu日期 格式为YYYYMMDD
    习王育::使用 strftime(),配合格式 "%Y%m%d" 即可。注:如果月、日只有一位数,它会自动补前面的0。include <stdio.h>#include int main(){ time_t tm;char buf[80];tm = time(NULL);strftime(buf, sizeof(buf), "%Y%m%d", localtime(&tm));printf("%s\\n", buf);return 0;} ...
  • [曲茗柴17131776328] - c语言有办法取得当前纳秒或微秒级的时间吗
    习王育::C语言中如何获取时间?精度如何?1 使用time_t time( time_t * timer ) 精确到秒 2 使用clock_t clock() 得到的是CPU时间精确到1\/CLOCKS_PER_SEC秒 3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒 5 如果使用MFC的CTime类,可以...
  • [曲茗柴17131776328] - C语言怎么取CPU的各项信息
    习王育::cpuid 在C语言中(VC6以上)实现方法为:32位模式下,可使用内嵌汇编来调用cpuid指令;64位模式下,VC编译器不支持内嵌汇编,此时可使用微软提供的Intrinsics函数,来执行cpuid指令,该函数支持32位和64位,该函数包含在 <intrin.h>中。CPUID指令的对应Intrinsics函数为如下两个:void __cpuid( in...
  • [曲茗柴17131776328] - linux下用c语言实现查cpu类型和型号等信息
    习王育::启动时间在\/proc\/uptime 单位是s \/proc\/stat 里面有cpu执行的时间,用户态,系统态,空闲都有
  • [曲茗柴17131776328] - C语言 编程实现获取cpu信息
    习王育::void cpuid(unsigned int veax1){ _asm{ mov eax,veax1 cpuid mov veax,eax mov vebx,ebx mov vecx,ecx mov vedx,edx } } \/\/做移位操作,把寄存器中的ASCII码,以字符形式输出 void LeftMove(unsigned int var){ printf("%c",var);for(int i=0;i<3;i++){ var=(var>>;printf...
  • [曲茗柴17131776328] - C语言(VC++6.0)获取cpu编码
    习王育::1 要获取CPU编码可以使用dos命令wmic cpu get ProcessorId。2 要在C语言中执行dos命令,一般使用system("wmic cpu get ProcessorId");3 由于获取到的cpu编码是打印在命令行中的,要获取结果用system就无法实现了。这时可以用windows提供的_popen函数。该函数的功能为,执行一段dos命令,并将程序运行结果...
  • [曲茗柴17131776328] - 如何用c语言程序获取计算机信息
    习王育::}printf("\\n\\nCPU 型号:%s\\n\\n",CPU);}\/\/ 获取内存信息void GetMemoryInfo(){CString MemoryTotal; \/\/ 总内存大小CString MemoryAvail; \/\/ 可用内存大小MEMORYSTATUS memory;memory.dwLength =sizeof(memory); \/\/初始化\/\/ 获取内存信息GlobalMemoryStatus(&memory);MemoryTotal.Format(_T("%d Mb...
  • [曲茗柴17131776328] - 求C语言程序:如何获得一个程序运行的时间? 最好带一段简单的代码 新人...
    习王育::cpu脉冲计数\/ cpu频率,获得开机以来的秒数。当然,这两个函数获得时间精度是很高的(us级别),只是我们一般用不到这么精确。linux下:include <sys\/sysinfo.h> 调用sysinfo()获得系统启动以来经历的秒数时间。这个不属于高精度计时。如果要进行高精度计时,高精度时间,C运行库的gettimeofday().(当然据...
  • [曲茗柴17131776328] - 如何用C语言获取硬盘或主板或CPU的序列号
    习王育::获取CPU序列号要使用 汇编指令 比较麻烦 static DWORD g_eax;\/\/ 存储返回的eax static DWORD g_ebx;\/\/ 存储返回的ebx static DWORD g_ecx;\/\/ 存储返回的ecx static DWORD g_edx;\/\/ 存储返回的edx void Executecpuid(DWORD veax){ asm("cpuid":"=a"(g_eax),"=b"(g_ebx),"=c"(g_...
  • [曲茗柴17131776328] - C语言中如何输出显示程序的运行时间? 望赐教!
    习王育::QueryPerformanceFrequency(&fre);\/\/获取本机cpu频率 \/\/开始计时 QueryPerformanceCounter(&startCount); \/\/运算 for (int i = 0; i < 10000000; i++) { float fTem1 = random(100)*random(1000)*random(10000)*random(100000); } \/\/结束计时 QueryPerformanceCounter...
  • 首页 热门
    返回顶部
    风记网