C/C++
文章平均质量分 52
东方猫
代码崇拜
展开
-
C/C++预处理指令#ifdef,#ifndef
#ifdef如果宏已经定义,则编译下面代码#ifndef如果宏没有定义,则编译下面代码#ifdef _SOCKET_ASYNC_IO if ((WSAAsyncSelect(s, g_hMainWnd, nMsgID, lEvent)) == SOCKET_ERROR) return FALSE;#else#ifdef _SOCKET_OVERLAPPED_IO if ((WSAAsyncSelect(s, g_hMainWnd, nMsgID, lEvent)) == SOCKET_原创 2020-12-06 10:56:41 · 279 阅读 · 0 评论 -
如何优雅的统计c++代码行数
b*[:b#/]+.*$原创 2020-12-05 09:01:46 · 570 阅读 · 0 评论 -
新版mysql CMD登录 之 巨坑
从MySQL 8.0.4开始,他们将MySQL服务器的默认身份验证插件从mysql_native_password更改为 caching_sha2_password。你可以运行以下命令来解决此问题。sample username / password => student / pass123ALTER USER ‘student’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘pass123’;有关详细信息,请参见官方页面:MySQ原创 2020-12-04 10:26:28 · 263 阅读 · 0 评论 -
sz前缀表示的意思
Windows 程序变量前的sz表示“以零结尾的字符串”(String Terminated with a Zero)原创 2020-12-02 15:39:32 · 2176 阅读 · 0 评论 -
VOID和void的区别
在Visual Studio开发环境下若包含了WinNT.h,则两者是相同的。头文件WinNT.h中有一句:#ifndef VOID#define VOID voidvoid是标准的,你看到VOID可能是windows下开发可能是一个宏定义,每个公司会将C的标准类型封装起来我们公司原来还有VOS_VOID...原创 2020-11-28 11:33:34 · 624 阅读 · 0 评论 -
静态(s_)、成员(m_)、全局(g_)变量在c++中有什么含义、作用?
s_ m_ g_ 等前缀仅仅是我们的习bai惯的命名规则,与语法无关du.是为了方便我们在定义了变量zhi以后使用的时候dao直观的区分这些变量.C++不是完全面向对象的开发语言,同C语言一样,它有全局变量,这个变量不属于任何一个类.这些全局变量,在你的程序任何地方都可以访问到这个变量静态变量:声明变量的时候加static关键字,其意义是指定在其中声明一个或多个局部变量的过程终止后,这些已声明的局部变量继续存在并保留其最新值。void fun(){ static int i = 0;i++;原创 2020-11-27 15:47:52 · 1630 阅读 · 0 评论 -
WSASocket()函数 和 Socket()函数
创建一个与指定传送服务提供者捆绑的套接口,可选地创建和/或加入一个套接口组。此函数为socket()的扩展版本,其功能都是创建一个原始套接字。使用时需要包含winsock2.h 头文件和链接ws2_32.lib库。定义SOCKET WSASocket ( int af, int type, int protocol, LPWSAPROTOCOL_INFO lpProtocolInfo, GROUP g, DWORD dwFlags );参数说明:af:[in]一个地原创 2020-11-26 15:05:53 · 1675 阅读 · 0 评论 -
CreateIoCompletionPort()函数
创建输入/输出(I / O)完成端口并将其与指定的文件句柄相关联,或创建尚未与文件句柄相关联的I / O完成端口,从而允许以后进行关联。将打开的文件句柄的实例与I / O完成端口相关联,可使进程接收有关该文件句柄的异步I / O操作完成的通知。注意此处使用的术语文件句柄是指表示重叠的I / O端点的系统抽象,而不仅仅是磁盘上的文件。任何支持重叠I / O的系统对象(例如网络端点,TCP套接字,命名管道和邮件插槽)都可以用作文件句柄。有关更多信息,请参见“备注”部分。句法HANDLE CreateI原创 2020-11-26 14:45:31 · 438 阅读 · 0 评论 -
C++中 DWORD和int的区别
INT 代表int,DWORD 代表 unsigned longint会随着机器位数的不同而发生变化,比如在16位机上为16为,在32位机上为32位,在64位机上为64位。看看最原始的定义就知道了。DWORD是无符号的,相当于unsigned long ,它是MFC的数据类型。而int是有符号性的,而且他所占的字节数不一定是4个,主要和你的IDE有关,像在Turbo C中就是2个字节,VC6.0中就是4个字节切忌把 int 看成 32 位书中早就说了long 32位有符号整数int原创 2020-11-26 11:30:49 · 1928 阅读 · 0 评论 -
WSARecv()函数
WSARecv()是从一个套接口接收数据的程序。主要用于在重叠模型中接收数据。#include <winsock2.h>int WSAAPI WSARecv ( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPINT lpFlags, LPWSAOVERLAPPED l原创 2020-11-26 11:27:38 · 4307 阅读 · 0 评论 -
c++类成员函数中调用多线程函数_beginthreadex()
#include "stdafx.h"#include#include#includeusing namespace std;class A { public: int n; A(int n) { this->n = n; } void static run1(A &a); void static run2(A &a); void static run(A &a);};void A::run1(A &a) { for (in原创 2020-11-26 11:17:15 · 1376 阅读 · 0 评论 -
D3DCAPS9结构
typedef struct D3DCAPS9 { D3DDEVTYPE DeviceType; UINT AdapterOrdinal; DWORD Caps; DWORD Caps2; DWORD Caps3; DWORD PresentationIntervals; DWORD CursorCaps; DWORD原创 2020-11-25 11:54:34 · 322 阅读 · 0 评论 -
typedef 关键字
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。用法总结如何创建平台无关的数据类型,隐藏笨拙且难以理解的语法:使用typedef为现有类型创建别名,定义易于记忆的类型名typedef int size;void measure(size*psz);size array[4];size len=file.getlength(原创 2020-11-24 20:50:56 · 517 阅读 · 0 评论 -
stdlib.h头文件
stdlib 头文件即standard library标准库头文件。stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 具体的内容可以打开编原创 2020-11-24 16:26:50 · 2043 阅读 · 1 评论 -
WSADATA
WSADATA,一种数据结构。这个结构被用来存储被WSAStartup函数调用后返回的Windows Sockets数据。它包含Winsock.dll执行的数据。这个结构被用来存储被WSAStartup函数调用后返回的Windows Sockets数据。它包含Winsock.dll执行的数据。结构原型摘自<winsock.h>typedef struct WSAData { WORD wVersion; WORD原创 2020-11-24 15:13:04 · 3103 阅读 · 0 评论 -
fgets,fputs,fputc,fgetc总结
总结如下:fgets:从文件中每次读入一行。函数原型char *fgets(char *str,int n,FILE *fp),str是存放将要读入字符型数据的存放地址,n是数目变量,fp是文件指针。该函数表明从文件fp中读入n-1个字符放在以str为起始地址的空间,因为系统会在最后加上一个‘\0’。读入过程中:若该行字符数不超过n-2个(2代表该行本身的换行符‘\n’和系统自动加上的'\0'), 则函数读完该行就结束,文件指针移动到下一行,再进行文件读入操作时,从下一行开始读入。...原创 2020-11-23 10:56:16 · 626 阅读 · 0 评论 -
connect()函数
connect()用于建立与指定socket的连接。头文件: #include <sys/socket.h>函数原型: int connect(SOCKET s, const struct sockaddr * name, int namelen);参数:s:标识一个未连接socketname:指向要连接套接字的sockaddr结构体的指针namelen:sockaddr结构体的字节长度connect() 函数用来建立连接,它的原型为[1]: 1...原创 2020-11-23 10:54:28 · 10695 阅读 · 0 评论 -
C语言中exit(0)与exit(1)有什么区别
今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1),还是用exit(0)呢,然后自己度娘了一下,整理了一下稍微做了一个总结吧。_exit();和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中。下面我就举个例子说明下吧,int main(){printf("is ok\n");printf("I am a chinese people");_exit(0);}原创 2020-11-23 10:42:14 · 595 阅读 · 0 评论 -
WSADATA 数据结构
WSADATA,一种数据结构。这个结构被用来存储被WSAStartup函数调用后返回的Windows Sockets数据。它包含Winsock.dll执行的数据。摘自<winsock.h>typedef struct WSAData { WORD wVersion; WORD wHighVersion;#ifdef _WIN64 unsigned short原创 2020-11-23 10:25:03 · 2321 阅读 · 0 评论 -
VC6.0错误Error spawning 'vcspawn.exe'.
[自己碰到了,解决了] 相信有很多人在安装了VC后,或者很好使用了VC一段时间后,突然当你再次点击熟悉的“Build”或者“Compile”菜单的时候,发现在输出窗口显示了以下信息:Error spawning 'vcspawn.exe'. The build could not be performed。然后熟悉的VC就不听你的使唤了!如是大家就会打开熟悉的google,输入错误信...原创 2018-11-26 16:10:29 · 1672 阅读 · 1 评论 -
error C2065: “CString”: 未声明的标识符
在非mfc下 使用CString 会导致上面错误:解决办法:(1) 如果你使用VC.net那么:使用MFC:包含cstringt.h;(2) 不使用MFC:包含atlstr.h 或者 #include <afx.h>...原创 2018-11-25 22:32:02 · 1657 阅读 · 0 评论