
C语言
文章平均质量分 64
wdt3385
这个作者很懒,什么都没留下…
展开
-
ASSERTC语言实现
#define ASSERT(exp) (void)((exp)||(_assert(#exp,__FILE__,__LINE__),0))void _assert(void * exp, void * file, unsigned int line){ printf("Assertion failed: %s, file %s, line %d\n",exp,file,line);转载 2013-01-31 14:01:22 · 693 阅读 · 0 评论 -
linux下纯C md5
/** 带密钥的md5算法库md5lib.h共有下列函数:* * char* MDString (char *); * 输入任意一个字符串,经过md5运算后,返回32个字符长的字符串** char* MDFile (char *); * 输入任意一个文件名,文件内容经过md5运算后,返回32个字符长的字符串** char* hmac_md5(char* text转载 2012-11-29 10:47:15 · 1081 阅读 · 0 评论 -
冒泡排序,插入排序,基数排序,交互排序算法
一、实验内容1、输入2-10个不为零的正整数,遇到0,代表输入结束。2、数字选择排序方法,1-冒泡排序、2-插入排序、3-基数排序。3、使用所选排序方法的排序,结果输出所用方法以及结果,每个数之间用“,”隔开,中间不要有空格。//===================================================================转载 2012-12-04 09:25:14 · 739 阅读 · 0 评论 -
IP地址正确性校验
#include #include int a,b,c,d;char t;char ip[256]={0},str_1[15]={0},str_2[15]={0},str_3[15]={0},str_4[15]={0};void main() { printf("请输入一个ip地址校验其正确性【以exit结束】:"); gets(ip); while(stricmp(转载 2012-12-04 09:22:55 · 944 阅读 · 0 评论 -
用C语言实现字符串替换功能
下面是用C语言实现字符串替换功能的代码:char *replace(char *source, char *sub, char *rep) { char *result; /*pc1 是复制到结果result的扫描指针*/ /*pc2 是扫描 source 的辅助指针*/ /*pc3 寻找子串时,为检查变化中的source是否与子串相等,是指向s转载 2012-11-19 14:15:47 · 2013 阅读 · 0 评论 -
C 语言实现shell里的ls命令
#include #include #include #include #include #include #include #include #include int main(int argc,char *argv[]){ DIR *dir; struct dirent *dp; int n; int i; char s[30];转载 2012-11-20 16:25:50 · 1049 阅读 · 0 评论 -
C字符串分割
/**********************************从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置**************************************/char *msstrtok(char *instr, char *outstr, char *delimiter){原创 2012-11-20 15:48:33 · 684 阅读 · 0 评论 -
C写的生日贺卡
//********** 编译环境VC6.0 ************//#include#include#include#include//________________________________________________________________________________________________________________extern转载 2012-12-04 09:05:22 · 1868 阅读 · 0 评论 -
用c语言生成六位的随机密码。
//����һ����λ�����루���Сд��ĸ�����֣�����λΪ��ĸ#include#include#includevoid main(){ int i,num; char str[6]; int seed=1; char ch[4]="abc"; srand((unsigned)time(0)); //���ڲ���̬seed��ʹ转载 2012-12-04 09:09:33 · 22373 阅读 · 0 评论 -
Mysql C 带事务管理的添删查改
来至:http://www.blogjava.net/pdw2009/archive/2008/03/15/186509.htmlmysqltool.h#include #include #include #include int xinsert(MYSQL * mysql, char * strsql){ int t;转载 2012-11-15 08:29:45 · 711 阅读 · 0 评论 -
linux c创建文件夹
#include #include#include#includeint main(){ char txtname[100]; *txtname='005';//这句将结果转变为字符串 if(access("flow",0)==-1)//access函数是查看文件是不是存在 { if (mkdir("flow",0777))//如果不转载 2012-11-29 11:55:49 · 1336 阅读 · 0 评论 -
C实现获取文件的后缀名
转自:http://blog.youkuaiyun.com/wuweiweinanjing/article/details/6978758#include#include#includevoid get_extension(const char *file_name,char *extension){ int i=0,length; length=strlen(file_n转载 2012-11-26 14:09:01 · 1115 阅读 · 0 评论 -
C语言现代方法之实现字符串的替换
#includechar *censor(char a[],char b[]){ int j=0; while(a[j]) { if(a[j]==b[0] && a[j+1]==b[1] && a[j+2]==b[2]) { a[j]='x'; a[j+1]='x';转载 2012-11-26 14:10:45 · 642 阅读 · 0 评论 -
C实现加密技术
#include#includeint main(){ FILE *fp; char *str; int sum=0,i=0,j=0; char a[20]={'\0'};fp=fopen("/etc/passwd","rb");if(fp==NULL){ perror("read the passwd file error"); exit(1)转载 2012-11-26 14:12:51 · 486 阅读 · 0 评论 -
复制文件句柄dup2 函数
函数简介 函数名: dup2 功 能: 复制文件句柄用 法: int dup2(int oldhandle, int newhandle);#include #include #include #include int main(void) { #define STDOUT 1 int nul, oldstdout; char ms转载 2012-11-26 14:50:17 · 744 阅读 · 0 评论 -
feof()和EOF的用法—— C中文件结尾的判断
转自:http://blog.youkuaiyun.com/bingqing07/article/details/5785080昨天突然被一位朋友问到了关于文件结尾的程序问题。在用feof()判断文件时,复制会多产生一个字符。这个问题在大一的时候,老师上课就强调过,但那时只是模糊的记得个大概,记得这个函数如果用的不对就是会出现问题,解决是要先读一下,然后再判断,具体的什么还真实忘了。而且平常经转载 2012-11-26 14:51:06 · 636 阅读 · 0 评论 -
C语言中mktime函数功能及用法
mktime(将时间结构数据转换成经过的秒数)相关函数time,asctime,gmtime,localtime表头文件#include 定义函数time_t mktime(strcut tm * timeptr);函数说明mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的转载 2012-11-12 15:35:03 · 1137 阅读 · 0 评论 -
一个双链表的C实现
转自:http://blog.youkuaiyun.com/zhongguomin/article/details/7407001最近想学习下数据结构方面的知识,于是上网找了些双链表的实现,资料很多,但是,结果发现基本是不能用的,有些甚至编译不过去后来,我就在一个别人写的基础上,重新修改了一遍,自己测试是好的linux + vim + gcc#include #includ转载 2012-11-15 08:30:29 · 580 阅读 · 0 评论 -
C语言中函数strcpy ,strncpy ,strlcpy的用法
http://hi.baidu.com/qi_hao/blog/item/043ef21c6e26c58286d6b678.htmlstrcpy ,strncpy ,strlcpy的用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 \0转载 2012-11-15 08:32:00 · 871 阅读 · 0 评论 -
去掉字符串首尾的 空格 换行 回车
/*去掉字符串首尾的 \x20 \r \n 字符by sincoder*/void clean_string(char *str){ char *start = str - 1; char *end = str; char *p = str; while(*p) { switch(*p) { case ' ': case '\r':转载 2012-12-04 09:02:40 · 1902 阅读 · 0 评论 -
注册码,注册码,注册码生成器就是牛!!
#include#include#define MAX 24int TEST(char ch[MAX])/*判断输入的注册码是否符合要求*/{ int i=0,k=0,j=0; while(ch[i]>64&&ch[i]<91|| ch[i]>96&&ch[i]<123|| ch[i]==' ') { if(ch[i]>64&&ch[i]<91||转载 2012-12-04 09:07:50 · 1806 阅读 · 0 评论 -
C调用Python脚本文件里的函数
转自:http://www.cnblogs.com/eric_lgf/archive/2009/09/02/1558495.html#Python脚本,存为pytest.pydef add(a,b): print "in python function add" print "a = " + str(a) print "b = " + str(b) pr转载 2012-12-25 08:55:57 · 860 阅读 · 0 评论 -
MYSQL C API的简单应用 windows下
#include #include //仅windows下#include #pragma comment(lib,"libmysql.lib") //unix下可静态链接libmysqlclient.a int main(int argc, char* argv[], char* envp[]){ //调用mysql_library_init()和m转载 2012-12-13 14:57:19 · 916 阅读 · 0 评论 -
C语言访问MYSQL数据库的完整的代码例子
1、手写安装带mysql sdk 的mysql2、新建控制台项目,项目属性中把C:\Program Files\MySQL\MySQL Server 5.5\include 加入“包含目录”把C:\Program Files\MySQL\MySQL Server 5.5\lib 加入“库目录”3、stdafx.h中加入#include //注意顺序,要放在mysql.h前转载 2012-12-18 12:46:13 · 672 阅读 · 0 评论 -
Linux 下和windows下 的true 和false
#define true 1#define false 0在头文件stdbool.h中包含 stdbool.h是gcc的头文件1.FALSE/TRUE与false/true的区别:false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h转载 2012-12-18 14:04:30 · 4600 阅读 · 0 评论 -
谈谈snprintf
众所周知,sprintf不能检查目标字符串的长度,可能造成众多安全问题,所以都会推荐使用snprintf.snprintf(_snprintf)的声明是这样的int _snprintf( char *buffer, size_t count, const char *format [, argument] ... );If len转载 2012-12-19 09:11:10 · 698 阅读 · 0 评论 -
printf的格式控制的完整格式
%a 浮点数、十六进制数字和p-记数法(C99)%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进制记数法 %g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.转载 2012-12-19 09:13:14 · 559 阅读 · 0 评论 -
C/C++字符串查找函数
C/C++ string库(string.h)提供了几个字符串查找函数,如下:memchr在指定内存里定位给定字符strchr在指定字符串里定位给定字符strcspn返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量strrchr在字符串里定位给定字符最后一次出现的位置strpbrk在转载 2013-01-29 17:12:04 · 655 阅读 · 0 评论 -
pthread_cond_wait()用法分析
很久没看APUE,今天一位朋友问道关于一个mutex的问题,又翻到了以前讨论过的东西,为了不让自己忘记,把曾经的东西总结一下。先大体看下网上很多地方都有的关于pthread_cond_wait()的说明: 条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件转载 2013-01-30 13:30:25 · 750 阅读 · 0 评论 -
更好的sleep nanosleep
nanosleep 系统调用是一个相比标准 UNIX 的 sleep 调用具有更高高精度的版本。和普通的 sleep 调用计算整秒数不同,nanosleep 接受一个指向一个 struct timespec 对象的指针作为参数,它可以表示毫微秒(nanosecond,十亿分之一秒)的时间。然而,了解 Linux 内核的工作细节后可知,nanosleep 所提供的真正精确度是10毫秒——比 sl转载 2012-12-12 08:55:21 · 1402 阅读 · 2 评论 -
Python与C之间的相互调用(Python C API及Python ctypes库)
转自:http://blog.youkuaiyun.com/vagrxie/article/details/5251306 分类: 【Python】 2010-01-24 17:58 15213人阅读 评论(11)收藏 举报目录(?)[-]Python C API准备工作C中内嵌Python获取返回值利用C扩展PythonPython ctype转载 2012-12-25 08:56:51 · 866 阅读 · 0 评论 -
system函数返回值探究
转自:http://blog.chinaunix.net/uid-24774106-id-3048281.html 对于system这个函数的功能早就有一定了解,读书期间,就学习了UNIX系统编程这本书,后来买了APUE.我这个人总是有好读书不求甚解的毛病。对于system函数只知其一,不知其二。后来被人问起相关的问题,结果丢了脸。书到用时方恨自己不求甚解。今天仔细探查了下system的一些特转载 2012-11-21 13:20:17 · 863 阅读 · 0 评论 -
在C/python中执行linux命令并得到返回值以及输出
一般来说,用shell的方便之处在于,能够直接调用linux系统命令,方便的得到结果。但是shell scprit的约束重重(这里不再讲了)。下面说一下在C和python中如何调用linux命令、得到返回值并得到输出1. python,使用os库/commands库import osimport commands方法1)使用commands.getstatuso转载 2012-11-21 09:52:36 · 794 阅读 · 0 评论 -
用popen函数操作其它程序的输入和输出
转自:http://www.cnblogs.com/MikeZhang/archive/2012/06/29/popenTest20120629.html一、函数介绍1.1 函数原型: #include FILE *popen(const char *command,const char *open_mode); 1.2 说明popen函数允许一个程序将另一个程转载 2012-11-21 10:58:46 · 685 阅读 · 0 评论 -
ASIC 与UTF-8的转换函数(ZZ)
void ConvertANSIToUTF8(CString &strANSI) { int nLen = ::MultiByteToWideChar(CP_ACP,MB_ERR_INVALID_CHARS,(LPCTSTR)strANSI,-1,NULL,0); unsigned short * wszUTF_8 = new unsigned short[nLen+1]; memset(转载 2012-11-22 09:19:02 · 1750 阅读 · 0 评论 -
linux C 遍历目录及其子目录
linux C 遍历目录及其子目录在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件:#include #include opendir函数的原型为:DIR *opendir(const char *name);它返回一个DIR*类型,这就是一个句柄啦,你不用管它的转载 2012-11-23 11:31:02 · 1042 阅读 · 0 评论 -
C语言内存泄漏检测方法
内存泄漏是C语言编程中一个很常见的问题,而且由于内存泄漏所导致的问题出现较缓慢,所以不容易觉察,所以写一个简单的程序来检测内存泄漏很有必要。 内存泄漏通常是指堆内存的泄漏,也就是通过malloc、calloc函数申请的内存,因此内存泄漏的检测方法核心思想就是通过宏定义自定义内存分配及释放函数来替换用户的malloc、calloc、free等函数。设计数据结构记录内存申请信息,申请内存时转载 2012-12-06 16:05:19 · 2039 阅读 · 1 评论 -
玩转C链表
转自:http://www.cnblogs.com/wwang/archive/2010/11/28/1889281.html链表是C语言编程中常用的数据结构,比如我们要建一个整数链表,一般可能这么定义:?1234structint_node { intval; structin转载 2012-12-07 15:33:26 · 569 阅读 · 0 评论 -
C++调用Python(3)
C++调用Python(3) http://blog.youkuaiyun.com/marising/article/details/2917892 前两篇都是介绍Python调用C++的,换句话说,就是需要把C++封装成Python可以“理解”的类型。这篇,我打算说一下,C++怎么去调用Python脚本。其实这两者之间是相通的,就是需要可以互操作。按照惯例,先贴代码。test.cp转载 2012-12-25 09:04:40 · 955 阅读 · 0 评论 -
linux 动态库调用处理函数
int DealLibFun(int var){ char libso[256]; int iRc; void *handle; int (* dlfun)(); sprintf(libso,"%s/lib/lib***.so",getenv("HOME")); handle = (void *)dlopen(libso, RTLD_LAZY|RTLD_GLOB原创 2012-11-08 10:56:06 · 717 阅读 · 0 评论