无题
Linux C/C++实现UDP通信1、UDP通信流程
2、函数原型介绍123456789101112131415161718192021ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);/*sockfd:socket返回的套接字文件描述符。buf:应用缓存,用于存放接收到的数据。len:buf的大小。flags:一般写0,表示阻塞接收数据(其他的常用设置同recv函数)。src_addr:“数据发送方”的ip和端口。addrlen:src_addr的大小。*//*注意src_addr:用于保存“数据发送方”的ip和端口,以便“接收方”回答对方。若是局域网通信,ip就为局域网ip;若是广域网通信,ip就为对方所在路由器的公网ip。若无需回答对方数据,则可以不用保存对方的ip和端口,recvfrom最后两个参数写NULL,此时与recv函数的功能完全等价。函数返回值:成功返回接收到的字节数,失败返回-1,ernn ...
无题
Qt中使用Sleep()Qt提供了QThread::sleep(500);
也可以使用各系统中对应的Sleep()函数,只要包括各系统对应的头文件即可。
windows平台
#include <windows.h>,就可以用Sleep()了。
Linux平台
#include <sys/stat.h>,
或者使用(windows下测试可使用,Linux未测试)
#include <synchapi.h>,synchapi.h是Qt自带的头文件
Sleep(40);延迟40毫秒。
无题
C++数值类型与string的相互转换1、数值类型转换为string【1】使用函数模版+ostringstream使用函数模版将基本数据类型(整形、字符型、实型、布尔型)转换为string
12345678910111213141516// ostringstream对象用来进行格式化输出,常用于将各种类型转换为string类型// ostringstream只支持 << 操作符template<typename T> string toString(const T& t){ ostringstream oss; // 创建一个格式化输出流 oss << t; // 把值传递入流中 return oss.str();}// 实型 -> string:输出14.2cout << toString(14.2) << endl;// 整型 -> string:输出12301cout << toString(12301) << endl;// 长 ...
Python核心拓展
3f1e72eb0712bcfd1c179868292f1bb75a6aad113055e1e2455109c946e7c4b27d7f39dc939314875f0e62b9c5b027234af7cde254134be54c225a10fd3d1da9fc8886cab5ea3a837bd486942f58f6aeb301c6a76868bf87088d9886462e511be5b820eb554e0a624c05ce93cb695a3cce524273b5e80ffa5ed7b561d4223e91d9401b102ed6458272b047a81fd01ba40463dc0683421dc14f0d2b335ff257ae624eefd408a91b2969d254670794cbfbe8f7ef2c274afc75380b5a627e120f5f62c757d3dc2782d16e63aa9caaa4a382c06474f2291b6ced63e2be4edf065c9769b9fb18487ccbc8a7251848338786d2608ee1fd9f49e78ab ...
Python核心要点
a879dd62096f99b7b49ab17e92487923e5201ca7e53fe4a903cac198df348e8908a2a4c9feda29ebb82648720edf2b8b028e433b4391deed11a37e0607dea3daf0df316c4d991c4c1e8968cb01128d679268a7dc063f11a03816f7fd97a0be11b63bdb52258626d8290cbe2fbcf6077e174bf405f4edf8b57260fbe788d8bbfd00e9a89deb76abf490f06bdc005d1e15baf6958e1b3bb28cae246357efa9cf98cc13e998999d63a853d4b463c0b5029c9ecd95e079311c3273729e01fc375bea5f888d5e9d66c2e52ccf6d5350eb0225aa3baca7c5f4af8b09476f318476450709043eb99561d02cb8cdcd97e1a28776da26b29aa0bab62af ...
无题
C++中为什么static成员变量一定要在类外初始化?1、为什么静态成员不能在类内初始化?在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。
1234567class A{private: static int count; // 类内声明}// 类外定义并初始化,不必再加static关键字int A::count = 10;
或者只进行定义但不赋初始值,但是默认值是否是0,可能会与具体的编译器有关。
12// 只进行定义但不赋初始值,默认值视编译器而定int A::count;
为什么?
因为静态成员属于整个类,而不属于某个对象,如果在类内初始化,会导致每个对象都包含该静态成员,这是矛盾的。
如果不增加int A::count = 0;这样的变量定义,那么在编译的时候将会报出:’A::count’未定义的引用错误。这是因为静态成员变量count未定义,也就是还没有分配内存,显然是不可以访问的。
2、什么东西能在类内初始化能在类中初始化的成员只有一种,那就是静态常量成员。
1 ...
无题
linux中chmod a+x的含义u 表示用户g 表示用户组o 表示其它a 表示所有
1234567891011# 给所有用户给予a.txt文件可执行权限chmod a+x a.txt 等价于 chmod +x a.txt# a.txt文件的所有用户可执行权限chmod u+x a.txt# a.txt用户组可执行权限chmod g+x a.txt# a.txt其他用户可执行权限chmod o+x a.txt
无题
python读取相对路径、绝对路径1、文件绝对路径1234# 当前所处文件夹的绝对路径import ospath = os.path.abspath(".")print(path) # D:\babytree\MyTest\common
1234# 当前所处的文件夹上一级文件夹的绝对路径import ospath = os.path.abspath("..")print(path) # D:\babytree\MyTest
1234# 当前文件的绝对路径import ospath = os.path.abspath(__file__)print(path) # D:\babytree\MyTest\common\test11.py
123# 当前文件的绝对路径import sysprint(sys.argv[0]) # D:\babytree\MyTest\common\test7.py
1234# 获取当前文件的所在目录import oscur_dir = os.path.dirname(os.path.abspath(__file__ ...
无题
python中yield的用法详解1、yield的初步认识首先,如果你还没有对yield有个初步认识,那么你先把yield看作return。这个是最直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了。看作return之后再把它看作是一个生成器(generator)的一部分(带yield的函数才是真正的迭代器),接下来我们直接看程序。
1234567891011def foo(): print("starting...") while True: res = yield 4 print("res:", res)g = foo()print(next(g))print("*" * 20)print(next(g))
123456# 代码输出starting...4********************res: None4
直接解释代码运行顺序,相当于代码调试
程序开始执行以后,因为foo()函数中有yield关键字,所以 ...
无题
Python读写TOML文件1、TOML介绍TOML的目标是成为一个极简的配置文件格式。TOML被设计成可以无歧义地被映射为哈希表,从而被多种语言解析。下文是一个比较详细的TOML介绍:https://segmentfault.com/a/1190000000477752
2、Python读写TOMLtoml包是一个为python语言解析toml编写的第三方包,其在pypi上的地址如下:https://pypi.org/project/toml/
123# 安装toml解析包# 也有可能是pip3命令pip install toml
3、函数说明toml包十分简单,解析常用的就是下面四个方法:
12345678910111213141516# 从文件或者一组文件中解析TOML,返回一个字典对象或类的实例对象。# 当解析多个文件时,会按照传入顺序依次解析,后边的文件内包含键# 的值会覆盖之前文件相同键的值"""参数f:文件路径,多个文件路径的列表或者文件描述符_dict:将解析结果填充到一个类中去返回一个字典对象或者 _dict 指定的 ...