clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别
摘要:一)ANSI clock函数
1)概述:
clock 函数的返回值类型是clock_t,它除以CLOCKS_PER_SEC来得出时间,一般用两次clock函数来计算进程自身运行的时间.
ANSI clock有三个问题:
1)如果超过一个小时,将要导致溢出.
2)函数clock没有考虑CPU被子进程使用的情况.
3)也不能区分用户空间和内核空间.
阅读全文
C语言 inf和nan(转)
摘要:inf :infinity (linux) 等同于 #INF:infinity (windows)
nan :not a number 等同于 #IND:indeterminate (windows)
注意:1、inf一般是因为得到的数值,超出浮点数的表示范围(溢出,即阶码部分超过其能表示的最大值);而nan一般是因为对浮点数进行了未定义的操作,如对-1开方。
2、nan==nan 结果是0或false,即不能和nan进行比较,和nan进行比较得到的结果总是false或0。所以可以用函数: int isNumber(double d){return (d==d);}来判断d是否为nan,若d是nan则返回0,否则返回非零值。
阅读全文
C语言中实现命令输出重定向到文件
摘要:在Unix或者Linux系统上执行一个命令,输出会默认打印在标准输出上。下面的程序通过system系统调用执行一个ifconfig命令,然后将输出重定向到一个txt文件当中。
阅读全文
C实现按列处理文本文件
摘要:有时候遇到按列显示的文本,比如log文件,我们需要删除一些列,显示一些列,使用脚本语言可以很轻松处理,其实用C语言也能很容易解决问题。
问题:一个文本文件log.txt显示了两列数据,中间分隔10个空格,需要删除右边一列,只打印显示左边一列,并保存到文件中
阅读全文
深入解析C语言函数指针(转)
摘要:一 通常的函数调用
一个通常的函数调用的例子:
//自行包含头文件
void MyFun(int x); //此处的申明也可写成:void MyFun( int );
int main(int argc, char* argv[])
{
MyFun(10); //这里是调用MyFun(10);函数
return 0;
}
void MyFun(int x) //这里定义一个MyFun函数
{
printf(“%d\n”,x);
}
阅读全文
C语言中signed和unsigned的存储方式、混合运算问题
摘要:在C语言中,signed要求最高位是符号位,以下表示数据大小,而unsigned则全部位都表示大小。如果用8位二进制表示的话,signed范围就是-128到127,unsigned就是
0到255,C语言中专门用两个关键字来描述两种表示方法,于是,就产生了一些不可思议的问题。
阅读全文