C
文章平均质量分 83
qq250941970
这个作者很懒,什么都没留下…
展开
-
getopt_long和 getopt
<br />get_opt()函数:<br />函数原型::<br />#include <unistd.h><br /><br />int getopt(int argc, char * const argv[], const char *optstring);<br />extern char *optarg;<br />extern int optind, opterr, optopt;<br />用法见右边栏<br />1.参数说明:<br />optstring:选项字母组成的字串。如果该字串里的原创 2010-12-23 18:42:00 · 605 阅读 · 0 评论 -
获取当前程序的绝对路径
#include #include int main(int argc , char* argv[]){ char buf[1024] = { 0 }; int n; n = readlink("/proc/self/exe" , buf , sizeof(buf)); if( n > 0 && n { printf("%s/n" , buf); }}连接符: /proc/self/exe 代表当前路径如程序在/home/workspace/test中,运行输出:/home/workspace/tes转载 2011-03-09 10:43:00 · 529 阅读 · 0 评论 -
获取系统时间,并格式化
#include #include #include#includeusing namespace std;int main(int argc , char* argv[]){ struct tm *times; time_t t; t=time(0); times=localtime(&t); char chTime[32]; strftime(chTime,32,"%Y/%m/%d",times); couttm_year+1900 cout stringstream ss; ss cout retur原创 2011-03-14 17:28:00 · 741 阅读 · 0 评论 -
UDP通信绑定指定IP
<br />由于测试需要,自己用vconfig在自己的虚拟机里添加了很多ip,实现不同Ip间的通信。UDP客户端向服务器发送报文时,绑定会有最近IP原则,比如,你机器上有如下几个IP:10.1.1.1 ,10.1.1.2 , 10.1.1.50, 10.1.2.51 , 10.1.2.90 , 10.1.3.91 ,10.0.0.1, 192.168.42.137,现在要向192.168.42.1发送报文,系统会自动给你分配离192.168.42.1最近的ip 192.168.42.137绑定,如原创 2011-03-16 17:22:00 · 17463 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别 (转贴) <br />非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别<br />一、预备知识—程序的内存分配<br />一个由c/C++编译的程序占用的内存分为以下几个部分<br />1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。<br />2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。<转载 2011-04-07 14:19:00 · 456 阅读 · 0 评论 -
Linux信号简介和信号处理相关函数
1) SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联. <br />2) SIGINT程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出 <br />3) SIGQUIT和SIGINT类似, 但由QUIT字符(通常是Ctrl-/)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号. <br />4)原创 2011-04-11 09:56:00 · 683 阅读 · 0 评论 -
实现linux下上下键和命令补全
安装readline在eclipse中编译使用readline需要在连接时加上-Ireadline -Itermcap#include #include #include #include static char *line_read = (char *) NULL;char *rl_gets() { if (line_read) { free(line_read); line_read = (char *) NULL; } line_read = readline("Please Enter原创 2011-04-13 10:35:00 · 6882 阅读 · 0 评论 -
信号量sem简介
信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为: extern int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value)); sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线程原创 2011-06-29 15:40:00 · 946 阅读 · 0 评论