<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yanxiaole_coder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yanxiaole_coder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yanxiaole_coder]]></copyright><item><title><![CDATA[wxWidget动态控件]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/116193013</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/116193013</guid><author>yanxiaole_coder</author><pubDate>Tue, 27 Apr 2021 10:37:22 +0800</pubDate><description><![CDATA[直接上代码:
.h文件里的:
wxStaticText**   m_AisText; //一维控件数组,指针
wxTextCtrl****   m_PageCtrl;// 三维

.cpp文件里的:
m_AisText = new wxStaticText *[m_ab-&gt;m_Ais.name.GetCount()];//相当于定义了一个控件一维数组
for(i = 0, j = 0; i &lt; (int)m_cb-&gt;m_eis.name.GetCount(); i++){
        ]]></description><category></category></item><item><title><![CDATA[wxWidget方法创建多级动态菜单]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/116191093</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/116191093</guid><author>yanxiaole_coder</author><pubDate>Tue, 27 Apr 2021 09:55:40 +0800</pubDate><description><![CDATA[得先有一个菜单配置文件menu.cfg
[menu](&amp;Aquisition){}
	[menu](Tool Control)
		[menu](OCTselect)
			[exec](sysa[K]...	F1){sysa}&lt;./file_selection.sh&gt; 
			[exec](sysb[K]...	F2){sysb}&lt;ls -l&gt; //这里面写执行路径
			[exec](RDR...	F3){RDR}&lt;ls -l&gt; 
		[end]
	[end]]]></description><category></category></item><item><title><![CDATA[linux里${}的用法]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/115748755</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/115748755</guid><author>yanxiaole_coder</author><pubDate>Fri, 16 Apr 2021 09:39:04 +0800</pubDate><description><![CDATA[为了完整起见，我这里再用一些例子加以说明 ${ } 的一些特异功能：
假设我们定义了一个变量为：
file=/dir1/dir2/dir3/my.file.txt
我们可以用 ${ } 分别替换获得不同的值：
${file#/}：拿掉第一条 / 及其左边的字符串：dir1/dir2/dir3/my.file.txt
${file##/}：拿掉最后一条 / 及其左边的字符串：my.file.txt
${file#.}：拿掉第一个 . 及其左边的字符串：file.txt
${file##.}：拿掉最后一个 . ]]></description><category></category></item><item><title><![CDATA[malloc与free的问题:munmap_chunk(): invalid pointer,无效指针]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/115208804</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/115208804</guid><author>yanxiaole_coder</author><pubDate>Fri, 26 Mar 2021 17:41:12 +0800</pubDate><description><![CDATA[include "keyyy.h"

keyyy::keyyy()
{
	pKey=(int*)malloc(16); //之前是13
}

keyyy::~keyyy()
{
	free(pKey); 先malloc,中途又改变动态内存,在free的时候,会出错
}

int keycalc::mokey(const char* bdserial)
{
	printf("class:%s\n", bdserial);
//	int *tmp = (int*)malloc(12);
	printf("%d\]]></description><category></category></item><item><title><![CDATA[ubuntu下安装fcitx五笔输入法]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/112301653</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/112301653</guid><author>yanxiaole_coder</author><pubDate>Tue, 12 Jan 2021 10:21:45 +0800</pubDate><description><![CDATA[ubuntu下安装fcitx五笔输入法
1.安装fcitx输入法
sudo add-apt-repository ppa:fcitx-team/stable                     #添加安装源，apt-get 添加，nightly源也可以
sudo apt-get update                                                           #更新源，否则无法安装fcitx
安装码表：    sudo apt-get install fc]]></description><category></category></item><item><title><![CDATA[[数据结构实践项目]变态的停车场管理系统]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111616290</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111616290</guid><author>yanxiaole_coder</author><pubDate>Thu, 24 Dec 2020 13:08:12 +0800</pubDate><description><![CDATA[[数据结构实践项目]变态的停车场管理系统
项目简介
设停车场是一个可以停放 n 辆汽车的南北方向的狭长通道，且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序，依次由北向南排列（大门在最南端，最先到达的第一辆车停放在车场的最北端）。
若车场内已停满 n 辆车，那么后来的车只能在门外的便道上等候，一旦有车开走，则排在便道上的第一辆车即可开入；当停车场内某辆车要离开时，在它之后进入的车辆必须先退出车场为它让路，待该辆车开出大门外，其它车辆再按原次序进入车场，每辆停放在车场的车在它离开停车场时必须]]></description><category></category></item><item><title><![CDATA[后缀表达式或者逆波兰表达式(栈实现)]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111589570</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111589570</guid><author>yanxiaole_coder</author><pubDate>Wed, 23 Dec 2020 16:43:09 +0800</pubDate><description><![CDATA[后缀表达式或者逆波兰表达式(栈实现)
3!+4*2/(1-5)^2 转换成后缀表达式: 3 ! 4 2 * 1 5 - 2 ^ / +
不难发现，后缀表达式完全舍弃了表达式本该有的可读性，但有失必有得，相比普通表达式，后缀表达式的值可以轻松借助栈存储结构求得。具体求值的过程是：当用户给定一个后缀表达式时，按照从左到右的顺序依次扫描表达式中的各个运算项和运算符，对它们进行如下处理：
遇到运算项时，直接入栈；
遇到运算符时，将位于栈顶的运算项出栈，对于 ! 运算符，取栈顶 1 个运算项；其它运算符，取栈顶 2 ]]></description><category></category></item><item><title><![CDATA[进制转换器(栈的方式)]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111582379</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111582379</guid><author>yanxiaole_coder</author><pubDate>Wed, 23 Dec 2020 11:45:11 +0800</pubDate><description><![CDATA[进制转换器(栈的方式)
转换器实例
例如，用户提供了一个十进制数：10，要求将此数据以二进制形式转换，则通过进制转换器转换的最终结果应该：1010。
提示：此进制转换器可以在 2-36 进制之间对数据进行任意转换。各进制中对应的数字如下表：


ASCII码表中:48-57对应0-9, 65-90对应A-Z
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;math.h&gt;
int top=-1;//top变量时刻表示栈顶元素]]></description><category></category></item><item><title><![CDATA[wxListBox的注意事项]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111313277</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111313277</guid><author>yanxiaole_coder</author><pubDate>Thu, 17 Dec 2020 13:30:50 +0800</pubDate><description><![CDATA[wxListBox的注意事项
wxListBox 选择了其中一条会触发它的单击事件,用 GetStringSelection()方法可能获得选中的内容
但是,一旦listBox中的内容清空,变化,它选择的条目没了,会内存出错,这种错误,一开始看不出来,但程序运行几次会出现.
DeselectAll()  //这个函数会清除选中的条目,这样就不会影响程序

...]]></description><category></category></item><item><title><![CDATA[右击弹出菜单和把弹出菜单加在按钮上]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111311846</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111311846</guid><author>yanxiaole_coder</author><pubDate>Thu, 17 Dec 2020 11:46:06 +0800</pubDate><description><![CDATA[右击弹出菜单和把弹出菜单加在按钮上
首先假设有个button9,它定义和创建好了,mode事件也动态关联上了
那么写一个
在main.h中
`
enum 
{
    Menu_Standby = 1101,
	Menu_Calibration,
	Menu_Item_First=1102,
	Menu_item_Second=1103
};
/////////////class类内
wxMenu *CreateDummyMenu();` //添加二级菜单的函数
void mode( wxCommandEv]]></description><category></category></item><item><title><![CDATA[关于wxMessageDialog和wxMessageBox使用注意]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111310629</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111310629</guid><author>yanxiaole_coder</author><pubDate>Thu, 17 Dec 2020 10:55:05 +0800</pubDate><description><![CDATA[关于wxMessageDialog和wxMessageBox使用注意
wxMessageDialog dialog(NULL,name+_T("  already exists, Click 'Yes' to overwrite"), _T("Question: Overwrite File or NOT"), wxYES_NO|wxICON_QUESTION,wxDefaultPosition);
			int aa =dialog.ShowModal();
			if(aa==wxID_NO) cont]]></description><category></category></item><item><title><![CDATA[wxWidget中创建动态菜单及动态创建其它控件和动态事件关联]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111307904</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/111307904</guid><author>yanxiaole_coder</author><pubDate>Thu, 17 Dec 2020 10:44:34 +0800</pubDate><description><![CDATA[wxWidget中创建动态菜单及动态创建其它控件和动态事件关联
#@ wxWidget中创建动态菜单及动态创建其它控件和动态事件关联
1.先创建一个初始化函数,preInit();比如:
在main.h中
class MainFrame : public MainFrameBase
{
public:
    MainFrame( wxWindow *parent );
	virtual ~MainFrame();
	wxTimer* m_timer;//创建一个timer指针,放在public里,成为全局]]></description><category></category></item><item><title><![CDATA[wxstring与其他类型转换]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/110821047</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/110821047</guid><author>yanxiaole_coder</author><pubDate>Mon, 07 Dec 2020 16:12:37 +0800</pubDate><description><![CDATA[wxstring与其他类型转换
1.1　int to wxString:
wxString str = wxString::Format(wxT("%i"),myInt);
1.2   wxString to int :
int i; i = wxAtoi(str);
1.3   string to wxString:
std::string stlString = “sdfas”; wxString mystr(stlString .c_str(),wxConvUTF8);
1.4   wxString ]]></description><category></category></item><item><title><![CDATA[一个比较完整的wxWidget项目]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/108841839</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/108841839</guid><author>yanxiaole_coder</author><pubDate>Mon, 28 Sep 2020 09:49:42 +0800</pubDate><description><![CDATA[一个比较完整的wxWidget项目将shell式的PC软件,改造成扁平的wxWidget软件1. 分析shell2.理清设计思路根据界面进行编码实现代码开发中的总结1.得到system里命令的返回值2.在指定文件里的查找指定字符串,找到返回true, flag ==1 表示区分大小写, 0表示不区分3.多个控件共用一个事件函数4.wx写文件
将shell式的PC软件,改造成扁平的wxWidget软件
1. 分析shell
当你第一次分析一个比较长的shell程序时,肯定会头晕,找不着如何下手.我是看了将近两]]></description><category></category></item><item><title><![CDATA[使用异或交换两整数###与运算判断奇偶]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/107334726</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/107334726</guid><author>yanxiaole_coder</author><pubDate>Tue, 14 Jul 2020 11:38:03 +0800</pubDate><description><![CDATA[使用异或交换两整数###与运算判断奇偶
1.异或运算进行交换（只能是整型）
异或运算有两个特点： （1）一个数异或本身恒等于0；（2）一个数异或0恒等于本身。
function swap(a, b) {
    a = a ^ b;  // 以a为临时变量
    b = a ^ b;  // b=a^b =&gt; b=(a^b)^b =&gt; a^(b^b) =&gt; a
    a = a ^ b;  // a=a^b =&gt; a=a^(a^b) =&gt; (a^a)^b =&gt; b
}]]></description><category></category></item><item><title><![CDATA[linux system函数是否执行成功判断方法]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106550608</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106550608</guid><author>yanxiaole_coder</author><pubDate>Thu, 04 Jun 2020 16:43:33 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/buknow/article/details/95066138

]]></description><category></category></item><item><title><![CDATA[关于ctime返回的时间字符串，不能直接用echo保存到文件的问题]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106358757</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106358757</guid><author>yanxiaole_coder</author><pubDate>Tue, 26 May 2020 17:02:00 +0800</pubDate><description><![CDATA[关于ctime返回的时间字符串，不能直接用echo保存到文件的问题
ctime返回的字符串, 在末尾有换行符
    char bb[255];
	time_t f_time = time(NULL);
	strcpy(bb,ctime(&amp;f_time)); //ctime返回的字符串, 在末尾有换行符
	int n = strlen(bb);
	bb[n-1] ='/0';
	sprintf(s,"echo  %s&gt;a", b, bb); 
	//若不去掉末尾的换行符，则成了，echo 字符]]></description><category></category></item><item><title><![CDATA[C的strrchr()库函数与wxWidgets的wxString wxString :: BeforeLast（）函数]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106261127</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106261127</guid><author>yanxiaole_coder</author><pubDate>Fri, 22 May 2020 08:50:24 +0800</pubDate><description><![CDATA[查找字符串在另一个字符串中最后一次出现的位置——
  C语言的sttr和wxWidgets的beforelast函数查找字符串在另一个字符串中最后一次出现的位置——&nbsp;&nbsp;&nbsp;&nbsp;  C语言的sttr和wxWidgets的beforelast函数wxWidgets的wxString的BeforeLast函数C语言的sttr
查找字符串在另一个字符串中最后一次出现的位置——
C语言的sttr和wxWidgets的beforelast函数)
查找字符串在另一个字符串中最后一次出现]]></description><category></category></item><item><title><![CDATA[进程通信——system调用外部程序]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106236097</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106236097</guid><author>yanxiaole_coder</author><pubDate>Thu, 21 May 2020 07:50:49 +0800</pubDate><description><![CDATA[system调用外部程序用法
用法


system(“路径 &amp;”) 		
eg: system("./print_list &amp;")   调用当前目录下的print_list
注意：加&amp;非阻塞运行，不加阻塞运行


带参数调用，输出数据


    char s[255];
	//字符串拼接，将调用的外部程序里的，cout部分输出到txt文件中， path ,symbol为参数
	sprintf(s,"../writeData %s %x %s &amp;", path, symbo]]></description><category></category></item><item><title><![CDATA[深入理解char , char * ,char ** ,char a[ ] ,char *a[] 的区别]]></title><link>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106236574</link><guid>https://blog.youkuaiyun.com/yanxiaole_coder/article/details/106236574</guid><author>yanxiaole_coder</author><pubDate>Thu, 21 May 2020 07:50:07 +0800</pubDate><description><![CDATA[深入理解char ,char * ,char ** ,char a[ ] ,char *a[] 的区别

char  a;  字符变量
定义了一个字符变量a,只能放一个字符，长度是1。 a = “p”;
char a[10]; 字符数组
定义了一个字符数组，长度为10，可以存放长度为10的字符串  a[10] = {"hello "};
a =&amp;a[0];  数组名就是数组首个元素的地址，数组又是连续的，所以打印字符串，只需printf(数组名)
char * a  字符指针
a = “hello ]]></description><category></category></item></channel></rss>