C编程
vincent-fan
Starry starry night
展开
-
位运算符:与、或、异或、取反、左移和右移
一、C语言按位与&实例 程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 二、C语言按位或| 实例 程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1 三、C语言按位异或^ 的实例 程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0 语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算原创 2013-06-21 09:15:17 · 441 阅读 · 0 评论 -
[C基础] 字符串处理篇之删除字符||字符串
/* 可以删除多个 例如:输入字符串“123 456 789 123 963 741” 会将两个123都删掉 */ #include "stdio.h"#include "string.h"int main(){ int i=0,x=0; char *p=NULL,*t=NULL,s[100]="123 456 789 123 963 741"原创 2013-10-11 15:46:35 · 307 阅读 · 0 评论 -
[C基础] 字符串处理篇之分割字符串
分割字符串**************************************************************未知元素个数分割字符串:将字符串分割成各个的元素**************************************************************/**************************************原创 2013-10-10 17:28:41 · 378 阅读 · 0 评论 -
[C基础]编程用到的IP转换
uint32 类型IP 转换成 点分十进制IP------char*char *ip_ntoa(char *buffer, uint32_t ipaddr){ ipaddr = ntohl(ipaddr); sprintf(buffer, "%d.%d.%d.%d", (ipaddr >> 24) & 0xff, (ipaddr >> 16) & 0xff, (ipad原创 2013-10-12 15:01:07 · 311 阅读 · 0 评论 -
[c基础] 二维指针数组
#include #include #include #include using namespace std;int main(){ char* imsi[256][256]; memset(imsi,0,sizeof(imsi)); char name0[256]="fanyl"; char name1[25原创 2013-10-21 17:07:01 · 283 阅读 · 0 评论 -
[C基础] 变量名称&函数名称
/*遍历二维vector*/ for(i=0; i<result_dm.size(); i++) { cout<<i<<":"<<result_dm[i][5]<<endl; }/*删除vector指定记录*/ typedef vector row_t; typedef vector r原创 2013-10-21 17:28:26 · 313 阅读 · 0 评论 -
时间计算
1、时间阻塞方法一:sleep(10)方法二:#include struct timeval tv;tv.tv_sec = 0;// 秒tv.tv_usec =(int) (1000000/300);// 微秒select(0, NULL, NULL, NULL, &tv); 2、简单计算时间差(秒级)time_t t1,t2;t1 = time原创 2013-06-19 16:50:09 · 317 阅读 · 0 评论 -
[C基础] 二维结构体指针数组
#include #include #include #include #include #include #include using namespace std;typedef struct Imsi_Time{ time_t time; char imsi[256];} IMSI_TIME;int ret;int max_fd;int the原创 2013-09-20 16:12:38 · 923 阅读 · 0 评论 -
[C基础] dlopen
库代码:#include void hello(void){ printf("hello\n");}编译命令:gcc -shared -o hello.so hello.c使用库的代码:#include #include #include int main(int argc, char **argv){ void *handl转载 2013-09-09 14:20:14 · 450 阅读 · 0 评论 -
[C基础] 静态存储区_栈_堆的区别
一、内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量(包括字符串常量)。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内转载 2013-06-26 22:27:34 · 268 阅读 · 0 评论 -
[C基础] 缓冲区
1.Stdout 与 stderr 区别1、stdout带缓冲区,stderr不带缓冲区2、stderr不能重定向,stdout可以重定向2.什么时候stdout缓冲区会被清空缓冲区被清空时,缓冲区内容送到显示器1、当输出换行时清空2、当等待用户输入时清空3、当调用fflush函数时清空4、当程序运行结束时清空5、缓冲区满时清空3.C标准库的I/O缓冲区原创 2013-06-26 11:17:20 · 394 阅读 · 0 评论 -
[C基础] 内存越界
1.strcpy和strncpy的C语言实现char *strcpy(char *dest, const char *src){ assert((dest!= NULL) && (src != NULL)); char *ptr= dest;/*循环结束时 *dest为:'\0' ,不用手动加结束标志*/ while ((*ptr++ = *src++) !='\0转载 2013-06-26 23:07:29 · 306 阅读 · 0 评论 -
[C基础] 读写文件
读文件: DIR * p=opendir(path); struct dirent* dt; if(p==NULL) perror("opendir"),exit(-1); while(dt=readdir(p)) { if((strncmp(dt->d_name,".",1)==0)||(strncmp(dt->d_name,"..",2)==0))原创 2013-06-29 17:47:40 · 316 阅读 · 0 评论 -
[C基础] fnmatch
#include #include #include #include int main(){ const char index_file_name_format[256]="*.fj"; const char name[256] = "test.fj"; if(fnmatch(index_file_name_format,name原创 2013-08-08 09:43:19 · 943 阅读 · 0 评论 -
[C基础] 结构体 vector
#include #include #include using namespace std;typedef struct Class_Infor{ char id[256]; char name[256];}CLASS_INFOR;int main(){ vector vec_class; vector::it原创 2013-08-09 11:23:11 · 584 阅读 · 0 评论 -
[C基础] type & goto
#include int main(){ short si = 10; long li = 20L; unsigned ui = 30U; unsigned short usi = 40U; short unsigned usi2 = 50U; long long lli = 60LL; unsigned long long ulli = 70ULL;}原创 2013-08-29 22:15:15 · 372 阅读 · 0 评论 -
[C基础] bit
#include int main(){ int a = 57; int b = 49; int r = a & b; printf("r=%d\n", r); printf("-57&49=%d\n", -57&49); char c = 128; r = 'A'&100; printf("r=%d\n", r); in原创 2013-08-29 22:20:59 · 339 阅读 · 0 评论