p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1;
(p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2
++p 先将指针p自增1(此时指向数组第二个元素), *** 作再取出该值
++p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
1、这个数字的值本身是保存在变量n里,如果说要获取输出的十六进制结果,实际上是一个字符串,获取这个结果可以使用
sprintf
输出到字符串。
2、例程:
#include <stdioh>
int main(void){
int n = 256;
char s[100];
sprintf(s, "%0x", n);
}
C语言有2个获取时间的函数,分别是time()和localtime(),time()函数返回unix时间戳-即从1970年1月1日0:00开始所经过得秒数,而localtime()函数则是将这个秒数转化为当地的具体时间(年月日时分秒)
这里时间转化要用到一个“struct tm”的结构体,结构如下:
struct tm {
int tm_sec; / 秒 – 取值区间为[0,59] /
int tm_min; / 分 - 取值区间为[0,59] /
int tm_hour; / 时 - 取值区间为[0,23] /
int tm_mday; / 一个月中的日期 - 取值区间为[1,31] /
int tm_mon; / 月份(从一月开始,0代表一月) - 取值区间为[0,11] /
int tm_year; / 年份,其值等于实际年份减去1900 /
int tm_wday; / 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一 /
int tm_yday; / 从每年1月1日开始的天数– 取值区间[0,365],其中0代表1月1日 /
int tm_isdst; / 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 /
};
示例代码:
#include<stdioh>
#include<timeh>
int getTime()
{
time_t t; //保存unix时间戳的变量 ,长整型
struct tm lt; //保存当地具体时间的变量
int p;
time(&t); // 等价于 t =time(NULL);获取时间戳
lt = localtime(&t); //转化为当地时间
p = lt->tm_sec; //将秒数赋值给p
return p;
}
应该就是这样啦~
这个需要相关的库以及API。
给你一个获取cpu信息的函数:
DWORD MyCPUSpeed()
{
BSTR bstrMyCpuName=NULL;
BSTR bstrMyPropName = NULL;
VARIANT pVal;
char szText[256];
int nCpuNum=0;
DWORD dwCpuSpeed=0;
IWbemClassObject pCpuInst=NULL;
IWbemQualifierSet pQualSet = NULL;
bstrMyPropName = SysAllocString(L"CurrentClockSpeed");
if(bstrMyPropName == NULL)
{
return dwCpuSpeed;
}
while(1)
{
memset(szText,0,sizeof(szText));
sprintf(szText,"Win32_ProcessorDeviceID=\"CPU%d\"", nCpuNum);
bstrMyCpuName = _bstr_t(szText);
if(bstrMyCpuName == NULL)
{
break;
}
if(pSvc->GetObject(bstrMyCpuName, 0L, NULL, &pCpuInst, NULL) != S_OK)
{
break;
}
if(pCpuInst->Get(bstrMyPropName, 0L, &pVal, NULL, NULL) == S_OK)
{
nCpuNum++;
dwCpuSpeed += pVallVal;
}
VariantClear(&pVal);
SysFreeString(bstrMyCpuName);
bstrMyCpuName = NULL;
}
if(bstrMyPropName != NULL)
{
SysFreeString(bstrMyPropName);
bstrMyPropName = NULL;
}
if(bstrMyCpuName != NULL)
{
SysFreeString(bstrMyCpuName);
bstrMyCpuName = NULL;
}
memset(szText,0,sizeof(szText));
sprintf(szText, "CPU个数: %d, CPU频率: %ld Mhz", nCpuNum, dwCpuSpeed);
cout<<"------------------------"<<szText<<"-------------------------"<<endl;
return dwCpuSpeed;
}
以上就是关于c语言中*p++,*(++p)的问题全部的内容,包括:c语言中*p++,*(++p)的问题、C语言中怎么获取printf输出的值、C语言如何获取本地时间,然后取时、分、秒的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)