随笔分类 - C语言学习
摘要:设置断点调试 在一行代码的左侧点击即可设置断点,按F5(调试->开始调试)即可运行到第一个端点处暂停 逐语句调试 按F11(调试->逐语句)即可开始一步一步执行 逐过程调试 按F10(调试->逐过程)开始逐过程调试,此方法不会进入调用的函数里面 原文此处的 Step into a property
阅读全文
摘要:1 #include 2 3 //处理消息的回调函数 4 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 5 6 int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hpreinstance, PSTR szcmdline, int icmdshow) 7 { 8 ...
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 #include 3 #include 4 5 void main() 6 { 7 //获取环境变量 8 char *path = getenv("PATH"); 9 //把获取的环境变量输出 10 printf("%s\n\n", path); 11 //要添...
阅读全文
摘要:通过获取窗口句柄,然后获取窗口DC,然后画图 桌面绘图 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <windows.h> 4 5 void main() 6 { 7 HWND hwnd = GetConsoleWindow(); 8
阅读全文
摘要:1 #include 2 #include 3 #include 4 5 //异常抛错检测 6 jmp_buf buf1; 7 8 double devide(double num1,double num2) 9 { 10 if (num2 == 0) 11 { 12 //跳转到异常处 13 longjmp(buf1, ...
阅读全文
摘要:1 #include 2 #include 3 #include 4 5 void callerror() 6 { 7 MessageBoxA(0, "error", "error", 0); 8 } 9 10 void main() 11 { 12 if (signal(SIGINT, callerror) == SIG_ERR) 13 { ...
阅读全文
摘要:遍历文件需要使用的头文件 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #include <io.h> 遍历 1 //文件结构体用于遍历文件 2 struct _f
阅读全文
摘要:希尔排序: 该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。 由于直接插入排序在元素基本有序的情况下(接近最好情况),效率是非常
阅读全文
摘要:备忘录模式 1 //备忘录模式 2 void foget() 3 { 4 //不断获取鼠标位置 5 for (int i = 0; i < 1000; i++) 6 { 7 GetCursorPos(posall + i); 8 printf("x=%d,y=%d\n", (posall + i)-
阅读全文
摘要:状态模式: //状态模式:状态模式允许一个对象在其内部状态改变的时候改变行为。//这个对象看上去象是改变了它的类一样。状态模式把所研究的对象的行为包装在不同的状态对象里,//每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在//其内部状态改变的时候,其行为也随之改变。状态模式
阅读全文
摘要:拷贝文件 1 //拷贝文件 2 void copy() 3 { 4 //自身路径 5 char selfpath[256] = { 0 }; 6 //Windows路径 7 char windowpath[256] = { 0 }; 8 //系统路径 9 char systempath[256] =
阅读全文
摘要:vprintf 1 //输出到屏幕 2 int POUT(char *str, ...) 3 { 4 va_list arg_p=NULL; 5 //读取 6 va_start(arg_p, str); 7 //接受可变参数 8 int n = vprintf(str,arg_p); 9 va_en
阅读全文
摘要://创建数据库,插入表,生效 1 //创建数据库,插入表,生效 2 void create_database() 3 { 4 //数据库指针 5 sqlite3 *db=0; 6 //打开数据数据库,初始化指针 7 int res = sqlite3_open("1.db", &db); 8 //判
阅读全文
摘要:增,a+,尾部增加不需要变化,随机,排序用r+, 查询,修改用r+删除,读到内存或者其他文件,删除后,然后重写新文件。w+数据库原理,删除的时候填充为0位,积攒到一定程度,释放 向文件写入 1 void write_to_file() 2 { 3 //数据 4 double db[10] = { 1
阅读全文
摘要:客户端 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <winsock.h> 5 #include <string.h> 6 #pragma comment(lib,"w
阅读全文
摘要:客户端 1 #include <stdio.h> 2 #include <string.h> 3 #include <winsock.h> 4 #pragma comment(lib,"ws2_32.lib") 5 6 void main() 7 { 8 //存放版本 9 WORD wversion
阅读全文
摘要:客户端代码 1 #define _CRT_SECURE_NO_WARNINGS 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include <winsock.h> 5 #pragma comment(lib,"ws2_32.lib") 6 7 //定义端口
阅读全文
摘要:协议之间的关系 socket在哪 socket是什么 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符
阅读全文
摘要:通过令牌提升权限 1 BOOL opendebug() 2 { 3 //令牌 4 HANDLE htoken; 5 //是否提升权限成功 6 BOOL fok = FALSE; 7 //打开进程令牌,提升调试权限, 8 if (OpenProcessToken(GetCurrentProcess()
阅读全文

浙公网安备 33010602011771号