- 博客(65)
- 资源 (2)
- 收藏
- 关注
原创 C++可变长不确定类型的参数
#include "stdafx.h"#include #include #include "iostream"using namespace std;typedef struct Params { enum ParamsType{NILL ,INT,CHAR, CHARS, DBL}; ParamsType type; union {
2016-04-21 19:38:28
1599
原创 C语言扫雷
1.linux下完成成2.通过打印不同背景,实现光标功能#include #include #include #define TTY_PATH "/dev/tty"#define STTY_ON "stty raw -echo -F"#define STTY_OFF "stty -raw echo -F"int map[12][12];int eight[8][2] =
2015-11-21 18:11:57
490
原创 c语言俄罗斯方块
linux实现#include #include #include #define TTY_PATH "/dev/tty"#define STTY_ON "stty raw -echo -F"#define STTY_OFF "stty -raw echo -F"int map[21][14];char direct;int node[7][4][16]={ {{0
2015-11-21 18:08:27
1252
原创 2048小游戏
以下特点1.linux下完成2.非堵塞键盘读取3.随机生成2和4#include #include #include #define TTY_PATH "/dev/tty"#define STTY_ON "stty raw -echo -F"#define STTY_OFF "stty -raw echo -F"int map[4][4];typedef str
2015-11-21 18:04:51
469
转载 string的标准库练习
#include #include size_t strlen(const char *s);void *memset(void *src, int n, size_t count);char *strstr(const char *s1, const char *s2);char *strcat(char *des, const char *src);char *strncat(c
2015-11-21 12:35:34
330
原创 指针和数组的转换
本人喜欢例子说明。。#include int main(){ int arr[4] = {1,2,3,4}; int *p_arr = arr; int i = 0; printf("数组正常打印\n"); for( i = 0; i < 4; i++) { printf("%d ", arr[i]); } printf("\n"); printf("数组以指针形
2015-11-15 19:22:52
7454
原创 c语言的隐式转换
此次测试是在ubuntu下对于C语言数据类型sizeofchar 1个字节short 2个字节int 4个字节long 4个字节float 4个字节double 8个字节本人通过使用两个不同数据类型的值相加,然后使用sizeof观察其字节长度,判断转为什么类型了short + char = 2byt
2015-11-03 19:51:11
419
原创 C语言数据类型范围
此次测试是在ubuntu下对于C语言数据类型sizeofchar 1个字节short 2个字节int 4个字节long 4个字节float 4个字节double 8个字节一.char的范围char有8位,其中一位为符号位,2^7=128,其取值范围为-128~127,其中0~127位对应ASCII码表,负数位对应各行业各自设置。
2015-11-03 19:26:54
937
原创 eclipse的搜索和调试
对于刚进入公司,但又要快速融入公司的项目的朋友们。一定要会eclipse的两个方法。这可以省去问前辈过多而引发的事件......搜索和调试,如果一看就知道我要说什么的盆友们路过...路过...一、先说搜索吧。(1)使用理由大家都懂Ctrl+f了。但在eclipse有个强大搜索工具就是search,它可以帮你快速并准确的搜索到你要找
2015-09-15 15:26:54
363
原创 myeclipse使用jquery-easyui
第一:准备myeclipse环境准备安装包spket-1.6.18.jar和js文件,这里我上传了http://download.youkuaiyun.com/detail/u010439954/9090323第二:运行cmd转到spket-1.6.18.jar的目录下执行java -jar spket-1.6.18.jar进行安装。在安装中选择eclipse plugin然后
2015-09-08 22:40:07
2531
原创 CallableStatement的实例
一、概念CallableStatement 对象用于执行对数据库已存在的存储过程的调用。 二、先对存储过程语法说明1、先配置一个存储过程http://blog.youkuaiyun.com/u010439954/article/details/46475969上面网页对存储过程的说明2、表的结构testidvarchar(12) primary key
2015-08-14 12:59:06
500
原创 Mysql存储过程
一、概述存储过程是数据库开发人员将功能复杂、使用频繁的Mysql代码封装成Mysql存储过程,从而提高Mysql代码重用性。二、语法格式create proceduce 存储过程名(参数一,参数二,)存储过程选项begin存储过程语句;end;存储过程选项language sql | [not] deterministic | {contains s
2015-06-12 22:26:03
528
原创 Mysql触发器
一、概述触发器主要用于监听某个表的insert,update以及delete等更新操作,这些操作一旦被执行,可以激活该表的触发程序如insert,update,delete等命令,实现数据维护。二、功能功能:实现检查约束,对字段范围检查约束维护冗余数据,保证数据的一致性模拟外键级联选项,在表中外键的功能三、语法格式create trigger 触发器
2015-06-12 18:32:29
372
原创 Mysql中的select常用语法
desc testid name age一、检索数据1、检索多个列select id name from test; 2、检索所有列select * from test;3、检索不同的行select distinct age from test;4、限制结果select id from test limit 5,5;从行5开始的5行
2015-06-03 20:17:42
688
转载 recvmsg和sendmsg
这两个函数是最通用的I/O函数。实际上我们甚至可以说用recvmsg来代替read、readv、recv和recvfrom。sendmsg也类似。需要的头文件#include函数原型ssize_t recvmsg(int sockfd,struct msghdr *msg,int flags); ssize_t sendmsg(int soc
2015-06-02 09:14:12
506
转载 linux下的alarm
1.概述alarm也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,它向进程发送SIGALRM信号。如果忽略或者不捕获此信号,则其默认动作是终止调用该alarm函数的进程。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替。2.函数使用所需的头文件#include 函数原型
2015-06-01 22:20:53
512
转载 syslog
syslog是Linux中设置系统日记的一种工具。主要有三个函数openlog,syslog,closelog。需要的库#include void openlog(const char* ident, int options, int facility);注意openlog是可选的,如不调用openlog,则在第一次调用syslog,自动调用openlog。
2015-06-01 10:58:19
677
转载 getaddrinfo
1.概述一、Pv4中使用gethostbyname函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。二、IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个addrin
2015-06-01 08:52:58
415
原创 归并算法
#include using namespace std;#define N 10void merge(int a[], int first, int mid, int end, int tmp[]){ int arr_one_first = first; int arr_one_end = mid; int arr_two_first = mid + 1; int ar
2015-05-31 16:14:15
280
原创 快速排序
#include using namespace std;#define N 10int a[N] = {3,2,1,9,4,5,7,6,0,8};void quick(int left, int right){ int sign = a[left]; int i = left; int j = right; if(left > right) return ; while
2015-05-26 20:48:52
259
原创 linux下的poll函数
poll调用和select调用实现的功能一样,都是网络IO利用的一种机制。需要的的库#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);struct pollfd { int fd; short events; short revents; };
2015-05-25 23:13:44
641
原创 linux下的select函数
该函数允许进程指示内核等待多个事件的任何一个发生,并且只在有一个或多个事件发生或经历一段指定的时间后才能唤醒。需要的库#include #include int select(int maxfdp1, fd_set *readset, fd_set *write, fd_set *exceptest, const, struct timeval 8timeout);
2015-05-25 18:34:46
372
原创 linux信号量
什么是信号量?为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。
2015-05-24 12:01:13
354
原创 linux下C/C++库的创建
库是目标文件的一个集合。作用是对于一些目标文件针对给定的问题有相互关联的行为,那么就可以把这事目标文件整合到一个库中,从而简化应用程序开发人员对这些目标文件的存取和分发。 以下使用随机数说明,需要初始化,返回一个有上限的数。先创建initRand.c初始化#include #include void initRand(){ time_t seed;
2015-05-24 11:28:00
459
原创 linux信号集
信号集是将多个信号放在集合中进行集中的处理。int sigemptyset(sigset_t *set);将set集合置空int sigfillset(sigset_t *set);将所有信号加入set集合int sigaddset(sigset_t *set,int signo);将signo信号加入到set集合int sigdelset(sigset_t *set,
2015-05-24 10:18:52
320
原创 linux信号简单编程
#include#include#includevoid getsign(int signo){ if (signo == SIGUSR1) printf("recevied SIGUSR1\n"); else if (signo == SIGUSR2) printf("received SI
2015-05-23 17:25:00
319
原创 gdb测试
(1)gcc -g test.c -o test-g 告诉编译器在映射中包含调试信息。(2)启动gdbgdb test(3)查看list如list 10 20 显示第10行到第20行代码(4)设置断点breakbreak设置方法break function //在函数上设置一个断点break file:function //在指定文件的函数设置一
2015-05-23 17:07:00
605
转载 Linux信号详解
我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV
2015-05-23 16:02:09
318
转载 wait和waitpid的区别
#include pid_t wait(int *statloc);pid_t waitpd(pid_t pid, int *statloc, int options);pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就
2015-05-23 15:38:06
3232
转载 linux下的make
.SUFFIXES:.c.oCC=gccSRCS=cli1.cOBJS=$(SRCS:.c=.o)EXEC=$(SRCS:.c=)start: $(OBJS) $(CC) -o $(EXEC) $(OBJS).c.o: $(CC) -o $@ -c $clean: rm -f $(OB
2015-05-22 11:01:16
353
转载 网络字节转换inet_aton、inet_nota、inet_addr
int inet_aton(const char *cp, struct in_addr *inp);char *inet_ntoa(struct in_addr in);in_addr_t inet_addr(const char *cp);inet_aton() 转换网络主机地址cp为二进制数值,并存储在struct in_addr结构中,即第二个参数*inp,函数返回
2015-05-19 20:15:28
1242
转载 linux下的高级文件编程
测试文件类型#include #include int main( int argc, char *argv[] ){ struct stat statbuf; if (argc < 2) { printf("please input a file paraster\n"); return 1; } if
2015-05-19 10:42:39
344
原创 linux下安装Oracle
以red hat 6.3 举例1.需要先安装其他包rpm -ivh 包compat-libstdc++-33-3.2.3-69.el6.i686.rpmelfutils-libelf-devel-0.152-1.el6.i686.rpmlibstdc++-devel-4.4.6-4.el6.i686.rpmgcc-c++-4.4.6-4.el6.i686.rpm
2015-05-06 17:48:20
318
原创 linux编程mysql
使用mysql的root登入后设置mysql -u root -p先创建新的数据库create database db1;建立db数据库的用户grant all on.* to dbuser1 identified by '123456';退出quit使用新用户登入mysql -u dbuser1 -puse db1create table table3
2015-05-04 17:22:23
188
原创 linux登入mysql
1.先卸载linux原有的mysql查看是否安装了mysqlrpm -qa| grep mysqlrpm -e --nodeps 包名最后再卸载库rpm -e mysql-libs --nodeps2.安装rpm -ivh 包名MySQL-client.... 客户端连接模板MySQL-devel.... 开发使用模块MySQL-server.
2015-05-04 16:44:22
379
原创 虚拟机下linux配置yum
1.将镜像文件放入虚拟机中在虚拟机下 虚拟机-》设置-》选择cd/dvd-》浏览选择iso文件2.挂载本地镜像文件到指定文件夹中情况一:::一般情况下镜像文件在/dev/cdrom下创建指定文件夹mkdir /mnt/cdrom然后挂载mount /dev/cdrom /mnt/cdrom情况二:::如果镜像不在/dev/cdrom,而是显示在/med
2015-04-28 20:48:53
2561
转载 linux下普通用户获取sudo
xxx is not inthe sudoers file.This incident will be reported.的解决方法1.切换到root用户. su后输入密码2.添加sudo文件的写权限,命令是:chmod u+w/etc/sudoers 3.编辑sudoers文件vi /etc/sudoers找到这行 root ALL=(ALL)AL
2015-04-27 15:58:40
1648
FTP客户端设计文档.doc
2015-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人