- 博客(21)
- 资源 (5)
- 收藏
- 关注
原创 liunx c实现http多线程下载2(url地址解析)
对目标URL地址进行解析,得到三类信息:(1)主机地址,(2)端口(如果没有给出,默认就是80),(3)文件所在主机的具体路径名以及文件名 主要用到两个函数strstr(), strchr()用于查找字符串中是否有指定的字符串和字符,存在则返回对于地址,不存在则返回NULL。源码:测试:
2016-09-06 15:44:11
499
原创 liunx c实现http多线程下载1(总体流程)
总的来说,http的多线程下载需要如下几个步骤1.先对目标URL地址进行解析,得到三类信息(1)主机地址,(2)端口(如果没有给出,默认就是80),(3)文件所在主机的具体路径名以及文件名例如:char ulr[128] = "http://file2.mydrivers.com/board/wb6audiowinnt4winnt4.exe"; 解析后应该得到如下信息主机地址:f
2016-09-06 14:52:02
853
转载 struct hostent结构体
struct hostent结构体这个数据结构是这样的: struct hostent { const char *h_name; // official name of host char **h_aliases; // alias list short h_addrtype; // host addre
2016-09-06 14:18:31
813
转载 Mysql主键相关的sql语句集锦
本文主要搜集总结了一些和mysql主键相关的sql语句,包括增加主键或者更改表的列为主键之类的sql语句,希望对大家能有所帮助 添加表字段alter table table1 add transactor varchar(10) not Null;alter table table1 add id int unsigned not Null auto_increment pr
2016-09-05 16:14:43
613
转载 c语言 split函数的实现
#include #include int split(char dst[3][1024], char* str, const char* spl);int main() { int i, num; char a[3][1024]; for(i = 0; i<3; i++) memset(a[i], 0, sizeof(a[i])); char str[
2016-09-04 14:57:28
1711
转载 Linux下Socket编程的端口问题( Bind error: Address already in use )
http://blog.youkuaiyun.com/u010555444/article/details/46827937int sock, ret, on;struct sockaddr_in servaddr;/* Create a new stream (TCP) socket */sock = socket( AF_INET, SOCK_STREAM, 0 ):/* Enable
2016-09-04 11:23:14
2588
转载 eclipse+cdt 配置mysql(附测试代码)
所以需要在eclipse中加上对mysql.h的路径项目->属性->C/C++Build -> settings -> gcc c complier -> includes -> include paths 添加两个路径:/usr/lib/mysql;/usr/include/mysql还需要添加对 -lmysqlclient -lm两个参数
2016-09-02 21:50:18
346
原创 线程条件变量的使用
1. mutex的用法#include #include pthread_mutex_t lock;int value = 10;void* pt1(void *arg);void* pt2(void *arg);int main() { pthread_t t1, t2; pthread_mutex_init(&lock, NULL); pthread_creat
2016-09-02 16:09:54
551
转载 c实现计算运行时间
#include “stdio.h”#include “stdlib.h”#include “time.h”int main( void ){ long i = 10000000L; clock_t start, finish; double duration; /* 测量一个事件持续的时间*/ printf( "Time to do %ld em
2016-09-02 11:24:28
312
原创 eclipse+CDT 常见问题1---报错:undefined reference to `pthread_create'的处理
1. 报错:undefined reference to `pthread_create'的处理解决办法:工程的property->setting->gcc linker->liberary下,添加pthread(注意不是-lpthread,也不是-pthread,如图1所示)原因:pthread不是默认的库,在linux中用文本进行编译,也要加参数-lpthread,这个道理是一
2016-09-02 09:54:40
464
转载 ubuntu 1204 无法安装libmysqlclient-dev
http://blog.youkuaiyun.com/sduwgl/article/details/47814601用C++连接mysql数据库,编译报错: 致命错误: mysql/mysql.h:没有那个文件或目录编译中断。发现libmysqlclient-dev没有安装,于是乎:[ruby] view plain copysudo
2016-08-29 17:14:09
2137
转载 mysql 基本命令
1、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 select 中加上distinct去除重复字段 m
2016-08-29 15:52:13
306
转载 ubuntu防火墙设置
自打2.4版本以后的Linux内核中, 提供了一个非常优秀的防火墙工具。这个工具可以对出入服务的网络数据进行分割、过滤、转发等等细微的控制,进而实现诸如防火墙、NAT等功能。 一般来说, 我们会使用名气比较的大iptables等程序对这个防火墙的规则进行管理。iptables可以灵活的定义防火墙规则, 功能非常强大。但是由此产生的副作用便是配置过于复杂。一向以简单易用著称Ubuntu在它
2016-08-20 21:34:47
263
原创 TCP回射1-----线程
实现数据的回射功能,服务器端接收到客户端发送来的数据时会将同样数据发送回去,客户端之间没有数据通信服务器端代码#include #include #include #include #include #include #define LISTEN_NUM 10 //最大允许连接数/**回射函数的处理,当收到客户单发送来的数据时将同样数据发送回去**/voi
2016-08-15 13:49:05
319
原创 gets()和fgets()在输入中的差异(fgets会多吃一个回车符号'\n')
#include char* gets(char *s);char* fgets(char *s, int n, FILE *stream);相同:1. fgets的参数stream指定为stdin时,两者都能从标准输入中读取字符串。2. 读取成功都返回地址。不同:gets从标准输入中得到字符串,fgets加入了防溢出的措施。此外,两者都从stdin中读
2016-08-13 22:36:57
6163
原创 通过信号关闭相关进程
发送信号kill(pid, SIGINT)可以关闭子进程,然后再wait(NULL),最后exit退出#include #include #include #include #include #include int main() { pid_t pid; pid = fork(); if(pid == 0) { while(1) { printf("chil
2016-08-11 19:40:57
628
原创 结构体字节对齐的规则
字节对齐的计算规则1、先看结构中最大类型的数据,包括嵌套结构体(如果有)。确定一行的最大数。2、如果只有一个元素,那就是这个元素的大小,不需要补齐。3、单一变量,先看看元素放到这一排的剩余位置能否完全放下,如果放不下,则从下一行的首地址开始放。4、嵌套子结构体则要看看这个元素的整个大小(就是累加的大小,不是对齐的大小放到这一排的剩余位置能不能放下,放不下则从下一行开始,子结构体中的
2016-08-01 16:12:23
444
转载 编写一个makefile的简单实例
编写一个makefile的简单实例http://www.cnblogs.com/missliuxin/p/3540531.html说明:执行的环境ubuntu 12.04 + gcc1.编写源代码(5个文件)1)名称为main.c,代码如下:#include "my1.h"#include "my2.h"int main(){ my1
2016-07-14 07:49:09
760
转载 Linux端口的关闭和启用
http://www.2cto.com/os/201209/154677.htmlLinux下面貌似没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。例如要关闭22号端口:
2016-07-01 21:32:02
1146
原创 leetcode 链表总结
题目类型上主要分为对链表重新排列,删除重复,删除给定值,反转,排序。技巧上会反转,排序。数组指针这个比较bug的,能ac,但效率不高,非常直观得解很多题目,优化技巧上可以通过realloc来一边前进一边扩展分配数组大小,而不必先走一趟得到链表长度,再分配。2 AddTwo Numbers 23.6% Medium两个链表相加,第一个
2016-06-27 20:46:30
429
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人