![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 66
cougar0709
幽默好动爱吹牛!
展开
-
strnicmp函数原型
<br />2010-09-14<br />#include<stdio.h>#include<string.h>#include<ctype.h>int strnicmp(const char *s1, const char *s2, int len){ unsigned char c1, c2; if(!len) return 0; do{ c1 = *s1++; c2 = *s2++;原创 2010-09-14 11:42:00 · 3434 阅读 · 0 评论 -
信号学习笔记3--信号的阻塞处理
本节主要介绍使用sigprocmask函数来人工设置信号阻塞。首先介绍函数原型:/* Get and/or change the set of blocked signals. */extern int sigprocmask (int __how, __const sigs原创 2011-07-26 11:41:09 · 940 阅读 · 0 评论 -
又一次理解指针和数组
今天在网上看到一个面试题,题目描述如下:#include intmain(){ int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf("%d %d\n", *(a +原创 2011-08-01 17:57:48 · 649 阅读 · 0 评论 -
setjmp和longjmp的"非本地跳转"
C语言中要实现"非本地跳转",C标准函数库提供了2个函数setjmp和longjmp来实现这个功能。头文件在。setjmp/longjmp的典型用途是例外处理机制的实现:利用longjmp恢复程序或线程的状态,甚至可以跳过栈中多层的函数调用。函数声明:SYNOPSIS原创 2011-08-01 15:29:47 · 1410 阅读 · 0 评论 -
Unix高级编程源码编译
最近在学习《Unix高级编程》,下载源码src.tar.tar以后,编译有点小问题。通过google了一把,把步骤简单罗列如下:1. 下载源码并解压:[root@Linux home]# tar -zxvf src.tar.gz [root@Linux home]# ls原创 2011-09-07 23:29:01 · 901 阅读 · 0 评论 -
VS2008 下安装WTL
本机环境: winxp + vs2008首先,需要安装VS2008,这个就不多说了,大家都懂得!其次下载WTL安装包,下载地址为: http://sourceforge.net/projects/wtl/下载后解压到一个目录中。安装应该直接运行E:\W原创 2011-09-19 17:25:18 · 787 阅读 · 0 评论 -
如何解决qmake默认使用QT3
测试系统CentOS 5.3安装QT4.7后,配置完环境变量:[root@Linux ~]# pwd/root[root@Linux ~]# ls -la .bash_profile -rw-r--r-- 1 root root 352 Dec 19 13:46 .bash_profile[root@Linux ~]# vi .bash_profile # .bash_prof原创 2011-12-19 14:00:12 · 2907 阅读 · 0 评论 -
Qt4实现钟表的demo
最近刚开始接触Qt,通过查看Qt自带的demo,稍微做了下修改,参考了下:http://www.tudou.com/programs/view/1Nwo0piJcBQ/ 的视频,具体实现如下:1. 首先安装Qt环境,在此略过。打开Qt Creator2. 新建一个工程,取名为clock3. 编辑clock.h头文件#ifndef CLOCK_H#define CLOCK_H#原创 2011-12-31 11:34:08 · 1609 阅读 · 0 评论 -
static_cast的用法
用法:static_cast ( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。 进行上行转换(把派生类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成派生类表示)时转载 2012-02-09 17:40:29 · 781 阅读 · 0 评论 -
信号学习笔记2--信号的安装
本节使用sigaction安装信号。关于sigaction函数,说明如下:#include int sigaction(int sig, const struct sigaction *restrict act, struct sigaction原创 2011-07-26 10:56:40 · 2868 阅读 · 0 评论 -
strcpy和strcat的函数原型
<br />2010-09-14<br />#include <stdio.h>char strA[80] = "A string to be used for demonstration purposes";char strB[80];char strC[80] = ">>strcat now!!!";char *my_strcpy(char *destination, const char *source){ char *p = destination; whil原创 2010-09-14 11:50:00 · 1188 阅读 · 0 评论 -
strncat函数原型
<br />2010-09-14<br /> <br />功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。<br />说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。<br /> <br />#include <stdio.h>#include <string.h>char str1[80] = "Hello, this is my example ";char原创 2010-09-14 17:44:00 · 2127 阅读 · 1 评论 -
strncpy函数原型
<br />2010-09-14<br /> <br />功能:把src所指由'/0'结束的字符串复制到dest所指的数组中。<br />说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,返回指向dest的指针。<br />注意:当src串长度>dest串长度时,程序仍会将整个src串复制到dest区域,可是dest数组已发生溢出。因此会导致dest栈空间溢出以致产生崩溃异常。如果不考虑src串的完整性,可以把dest数组最后一元素置为NULL,从des原创 2010-09-14 17:18:00 · 4975 阅读 · 1 评论 -
Ctype.h中的常用函数
<br />2010-09-15/*Ctype.h*/#define _U 0x01 /* upper */#define _L 0x02 /* lower */#define _D 0x04 /* digit */#define _C 0x08 /* cntrl */#define _P 0x10 /* punct */#define _S 0x20 /* white space (space/lf/tab) */#define _X 0x40 /* hex digit */原创 2010-09-15 16:36:00 · 1120 阅读 · 0 评论 -
strcasecmp函数和strncasecmp函数原型
<br />2010-09-14<br /> <br />函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。<br />返回值 若参数s1和s2字符串相同则返回0。s1长度大于s2长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0的值.<br /> <br />#include <stdio.h>#include <string.h>#include <ctype.h>int strcasecmp(const char *s1原创 2010-09-14 15:52:00 · 11730 阅读 · 0 评论 -
warning: suggest parentheses around assignment used as truth value
今天在写一个小程序,编译完成后就报警告:warning: suggest parentheses around assignment used as truth value在找到程序内部后发现这是对于指针操作提示的警告。例如:while (pDirent = readdir(dp)) 在上面的定义如下:DIR *dp;struct dirent *pDirent;原创 2011-06-23 16:42:00 · 13684 阅读 · 3 评论 -
双向链表冒泡排序
/* * ===================================================================================== * * Filename: doublelink.c * * Description: bubble use double linklist * * Ve原创 2011-06-22 09:56:00 · 7401 阅读 · 0 评论 -
显示16进制格式文件内容
今天看了一个实现16进制格式显示文件内容的程序,上机运行一把结果发现16进制没有完全显示出来,gdb调试之后发现是sprintf格式没有弄对,书上少印一个空格-_-!废话少说,上代码:/* * ===================================================================================== * *原创 2011-06-24 17:02:00 · 2898 阅读 · 0 评论 -
预处理中的宏替换
对于预处理中的宏替换,一般我们需要注意的是使用括号来保证计算次序的正确性。例如:#define square(x) x * x /* WRONG */这里如果使用squrare(z+1)就会出问题,所以必须改为:#define square(x) ((x) * (x)) /* WRONG */ 形式参数不能用带 引号的字符串替换。但是,如果再替换文原创 2012-05-18 00:06:42 · 897 阅读 · 0 评论