易截截图软件、单文件、免安装、纯绿色、仅160KB

C常用代码

一、批量转移字符到缓冲区
bufptr = buffer;
void bufwrite(char* p,int n)
{
    while(n>0)
    {
          int k,rem;
          if(bufptr == &buffer[N])
             flushbuffer();
          rem = N - (bufptr - buffer);
          k = n > rem ? rem : n;
          memcpy(bufptr,p,k);
           bufptr += k;
           p += k;
           n -= k;
    }
}
二、移位运算符
有符号整数的向右移位运算也不等于除以2的某次幂。 如: (-1)>> 1 一般不等于0,而 (-1)/2在大多数C实现上求值结果为0.


相关文档:

C的动态内存管理 mallac()和free()

      关于c的动态内存管理一直是个经久不衰的话题,面试也是基本上都会考的,本来感觉已经明白了,但是今天使用的时候一不小心导致程序崩溃了,因此深入的去查了下资料,收获不少...贴出来与大家分享...
     先贴个错误代码:
     int * ptr = (int *)mal ......

C/C++语言void及void指针深层探索

C/C++语言void及void指针深层探索
1.概述
许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。
2.void的含义
void的字面意思是“无类型”,void *则为“无类型指针”,void ......

实例解析linux内核I2C体系结构

一、概述
谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。
第一种方法的好处(对应第二种方法的劣势)有:
        ●    思路比较直接,不需要 ......

c programs

void myprintf(const char *format, ...)
{
va_list arglist;
va_start(arglist, format);
vprintf(format, arglist); // or some other operation
va_end(arglist);
}
NAME
       printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - formatt ......

C#动态调用C++编写的DLL函数


动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。

[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);

[DllImport("Kernel32")]
public static extern int L ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号