<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[li_il的博客]]></title><description><![CDATA[还差得远呢]]></description><link>https://blog.youkuaiyun.com/li_l_il</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; li_l_il]]></copyright><item><title><![CDATA[C++里 const int* 与 int const*辨析]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/126901914</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/126901914</guid><author>li_l_il</author><pubDate>Sat, 17 Sep 2022 10:22:14 +0800</pubDate><description><![CDATA[const在*的左边，值不能修改。const在*的右边，地址不能修改。]]></description><category></category></item><item><title><![CDATA[C语言之宏替换]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/115387605</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/115387605</guid><author>li_l_il</author><pubDate>Fri, 02 Apr 2021 00:39:18 +0800</pubDate><description><![CDATA[1.宏替换的形式


#define 名字 替换文本


后续所有出现名字的地方都将被替换为替换文本。

替换文本可以是任意的，例如


#define forever for（;;）    //无限循环

该语句为无限循环定义了一个新名字。

2.带参数的宏定义

宏定义可以带参数，这样可以对不同的宏调用使用不同的替换文本。例如，下列宏定义了一个宏max：


#define max(A,B) (A&gt;B?A:B)

再例如，下列宏定义了一个可交换两个变量值的宏swap（参数t为数据类型）：

...]]></description><category></category></item><item><title><![CDATA[strlen()与sizeof()辨析]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/115193832</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/115193832</guid><author>li_l_il</author><pubDate>Thu, 25 Mar 2021 08:48:48 +0800</pubDate><description><![CDATA[一.简介


			头文件
			功能
		strlen()
			string.h
			计算给定字符串的（unsigned int型）长度，不包括'\0'在内
		sizeof()
			无
			判断数据类型长度符的关键字
		二.区别

strlen 是一个函数，它用来计算指定字符串 str 的长度，但不包括结束字符（即 null 字符）。sizeof是一个单目运算符，而不是一个函数，它返回的结果包含结束字符 null。

示例代码


#include&lt;string.h&gt;
#incl.]]></description><category></category></item><item><title><![CDATA[在服务器部署一个可被外网访问的flask示例]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/114867400</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/114867400</guid><author>li_l_il</author><pubDate>Tue, 16 Mar 2021 15:39:11 +0800</pubDate><description><![CDATA[一.Flask简介

Flask是一个由Python语言写成的轻量级Web框架，最早由奥地利人Armin Ronacher于2010年发布。Flask最显著的特点是它是一个“微”框架，轻便灵活，但同时又易于扩展。默认情况下，Flask 只相当于一个内核，不包含数据库抽象层(ORM)、用户认证、表单验证、发送邮件等其它Web框架经常包含的功能。Flask依赖用各种灵活的扩展（比如邮件Flask-Mail，用户认证Flask-Login，数据库Flask-SQLAlchemy）来给Web应用添加额外功能。Fla]]></description><category></category></item><item><title><![CDATA[python常用函数]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/113875925</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/113875925</guid><author>li_l_il</author><pubDate>Sat, 20 Feb 2021 09:44:53 +0800</pubDate><description><![CDATA[print()

作用：输出文本

参数：

end
			指定在参数末尾打印什么
		sep
			指定在参数末尾打印什么
		示例：


]]></description><category></category></item><item><title><![CDATA[Anaconda安装pytorch-gpu出现PackagesNotFoundError报错的解决方法]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/113367765</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/113367765</guid><author>li_l_il</author><pubDate>Fri, 29 Jan 2021 10:15:42 +0800</pubDate><description><![CDATA[问题描述

Anaconda在已经添加了清华源的情况下安装pytorch-gpu还是出现了PackagesNotFoundError报错，如下

（需添加截图）

如果不使用官方源，速度又实在太慢，基本上就是停滞。

解决方法

通过一番查询后发现可通过修改.condarc文件来解决。这里的.condarc文件就是Anaconda用来记录下载源网址的文件，所以也可以通过命令来进行修改，不过直接修改文件更快。该文件的路径为“C:\用户\你的用户名\.condarc”

打开文件后将内容更换为如下内容即可


]]></description><category></category></item><item><title><![CDATA[C++将十进制数以八进制/十六进制输出的2种方式]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/110236693</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/110236693</guid><author>li_l_il</author><pubDate>Fri, 27 Nov 2020 17:15:45 +0800</pubDate><description><![CDATA[一.使用&lt;stdio.h&gt;的printf函数


			%o
			
			以八进制输出
		%x
			以十六进制输出
		代码示例


#include&lt;iostream&gt; 
using namespace std;

int main(){
	int a;
	scanf("%d",&amp;a);
	printf("原始数据：%d \n",a);
	printf("以八进制输出：%o \n",a);
	printf("以十六进制输出：%x",a);	
	
	return 0; ]]></description><category></category></item><item><title><![CDATA[火狐浏览器错误代码:SEC_ERROR_BAD_SIGNATURE]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/104347516</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/104347516</guid><author>li_l_il</author><pubDate>Sun, 16 Feb 2020 19:54:58 +0800</pubDate><description><![CDATA[情况说明

配置Fiddler的HTTPS时，不知怎么回事出现了这个问题，不能打开任何网页。百度了一下，没有发现很好的办法，自己随便试了一下，发现只要把火狐浏览器中之前添加的证书删除就可以了，而且删除后不影响Fiddler对https网页的抓取。

这种方法只适用于你在火狐浏览器中添加了fiddler证书的情况，如果不满足这个条件就不用往下看了。

操作步骤：

1.在选项中查找证书



2....]]></description><category></category></item><item><title><![CDATA[C/C++的坏习惯总结]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103408475</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103408475</guid><author>li_l_il</author><pubDate>Thu, 05 Dec 2019 17:04:08 +0800</pubDate><description><![CDATA[1.用地址输出字符数组

例如下列代码


#include&lt;iostream&gt;
#include&lt;cstdio&gt;
#include&lt;string.h&gt;
using namespace std;

int main(){
	char n[20]={"hello world"};
	cout&lt;&lt;n&lt;&lt;endl;
	
	return 0;
}...]]></description><category></category></item><item><title><![CDATA[C/C++的移位运算]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103341874</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103341874</guid><author>li_l_il</author><pubDate>Mon, 02 Dec 2019 00:47:20 +0800</pubDate><description><![CDATA[简介

移位运算是位运算的一种，具有简介高效的特点。原理就是将存储数值的二进制数进行左移（&lt;&lt;）或者右移(&gt;&gt;)。

左移位（&lt;&lt;）

例如10对应的二进制数是1010，左移一位就变成了10100，位数增加了一位，数值扩大了两倍。就像十进制的10，左移一位，变成100，其值就扩大了10倍。

示例代码


#include&lt;iostream&gt;
usi...]]></description><category></category></item><item><title><![CDATA[C/C++读入整行字符串]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103326929</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103326929</guid><author>li_l_il</author><pubDate>Sat, 30 Nov 2019 17:28:12 +0800</pubDate><description><![CDATA[方法一：scanf()读入char[]

使用方法：


char str[1024];
scanf("%[^\n]",&amp;str);
getchar();

说明：在scanf函数中，可以使用%c来读取一个字符，使用%s读取一个字符串, 但是读取字符串时不忽略空格，读字符串时忽略开始的空格，并且读到空格为止，因此只能读取一个单词，而不是整行字符串。

　　其实scanf函数也可完成这样的功...]]></description><category></category></item><item><title><![CDATA[01背包问题]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103256906</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103256906</guid><author>li_l_il</author><pubDate>Fri, 29 Nov 2019 17:39:46 +0800</pubDate><description><![CDATA[题目描述


给定N种物品和一个容量为V的背包，物品i的体积是wi，价值为vi。从这些物品中挑选出总重量不超过W的物品，求所有挑选方案中价值总和的最大值。

限制条件

1&lt;=n&lt;=100

1&lt;=wi,vi&lt;=100

1&lt;=W&lt;=10000

样例输入

n=4

(w,v)={ (2,3) , (1,2) , (3,4) , (2,2) }

W=5
...]]></description><category></category></item><item><title><![CDATA[pyqt5：删除树控件（QTreeWidget）的子节点/根节点]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103294767</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103294767</guid><author>li_l_il</author><pubDate>Thu, 28 Nov 2019 15:49:58 +0800</pubDate><description><![CDATA[主要代码


    # 删除控件树子节点/根节点
    def deleteItem(self):
        try:
            # 尝试删除子节点（通过其父节点，调用removeChild函数进行删除）
            currNode = self.tree.currentItem()
            parent1 = currNode.parent(...]]></description><category></category></item><item><title><![CDATA[pyqt5之信号-槽（pyqtSignal）]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103268004</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103268004</guid><author>li_l_il</author><pubDate>Wed, 27 Nov 2019 23:01:45 +0800</pubDate><description><![CDATA[简介

pyqt的信号槽机制就是可自定义一个信号，可将信号与一个槽函数绑定，每当发送这个信号时，就将调用绑定的槽函数，并将信号包含的参数传递给该槽函数。

代码示例


from PyQt5.QtCore import pyqtSignal, QObject


class signal(QObject):
    # 自定义一个信号
    my_sighal = pyqtSignal(str)...]]></description><category></category></item><item><title><![CDATA[Fence Repair（POJ3253）]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103247831</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103247831</guid><author>li_l_il</author><pubDate>Tue, 26 Nov 2019 01:00:47 +0800</pubDate><description><![CDATA[题目描述


Description

Farmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needsN(1 ≤N≤ 20,000) planks of wood, each having some integ...]]></description><category></category></item><item><title><![CDATA[C++将字符串赋给char数组/数组指针]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103225741</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103225741</guid><author>li_l_il</author><pubDate>Sun, 24 Nov 2019 16:34:57 +0800</pubDate><description><![CDATA[赋值给字符数组

方法一

按字符的逐个赋值给数组，如下所示


#include&lt;iostream&gt; 
#include&lt;string.h&gt;
using namespace std;

int main(){
	char s2[5]={'h','e','l','l','o'};
	
	for(int i=0;i&lt;5;i++)
		cout&lt;&lt;s2[i];...]]></description><category></category></item><item><title><![CDATA[pyqt：在按键处显示新窗口]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103134654</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103134654</guid><author>li_l_il</author><pubDate>Tue, 19 Nov 2019 01:26:01 +0800</pubDate><description><![CDATA[简述

在按键处显示窗口，关键之处在于获取按键在桌面的位置。我们可以先通过self.x()/self.y()获取窗口相对于桌面的位置，然后在获取按键相对于窗口的位置，将对应坐标相加就是按键相对于桌面的大致位置了。

效果



新窗口的位置会随着按键的位置而变化，但总是在按键的下方

示例代码


from PyQt5.QtCore import *
from PyQt5.QtWidgets im...]]></description><category></category></item><item><title><![CDATA[pyqt：点击按键打开新/子窗口的两种方法]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/103117414</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/103117414</guid><author>li_l_il</author><pubDate>Mon, 18 Nov 2019 09:43:26 +0800</pubDate><description><![CDATA[方法一

在主函数中，将点击按键的动作关联到子函数的show函数。

代码示例


from PyQt5.QtWidgets import *
import sys


class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initU...]]></description><category></category></item><item><title><![CDATA[基于UDP协议编写一个简单的通讯软件]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/102848470</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/102848470</guid><author>li_l_il</author><pubDate>Fri, 01 Nov 2019 00:27:37 +0800</pubDate><description><![CDATA[简介

本小项目使用python+PyQT编写一个基于UDP的通讯软件。

客户端只有两个界面，如下所示





软件结构

项目分为两部分，一部分是客户端，一部分是服务器。服务器不断监听指定的端口，并将接收到的消息再重新发到该端口。客户端包含一个线程，负责监听从服务器发来的消息，当在客户端按下发送按键时，会将输入框中的内容发送到服务器。

代码

服务器


import socket

s ...]]></description><category></category></item><item><title><![CDATA[PyQt5代码报错"name 'QColor' is not defined"]]></title><link>https://blog.youkuaiyun.com/li_l_il/article/details/101196998</link><guid>https://blog.youkuaiyun.com/li_l_il/article/details/101196998</guid><author>li_l_il</author><pubDate>Mon, 23 Sep 2019 10:53:47 +0800</pubDate><description><![CDATA[解决方案

添加下面的引用


from PyQt5.QtGui import QColor


]]></description><category></category></item></channel></rss>