自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 Linux C 字符串的sizeof与strlen的区别

Linux环境下,字符串的sizeof与strlen的区别

2022-10-31 21:05:46 285 1

原创 ContentProvider

1. 什么是ContentProvider1.1 四大组件之一1.2 并不能用于存储数据,只是为数据的存储或添加等操作提供一个统一的接口1.3 跨进程数据的访问:自定义服务端程序,通讯录等1.4 设备使用ContentProvider进行存储:通讯录,图片,音频,视频等1.5 数据更新监听2. ContentProvider的优点2.1 为数据访问提供统一接口2.2 跨进程数据的访问3. ContentProvider的缺点3.1 不能单独使用,必须与其他存储方式结合

2022-04-13 11:48:12 504

原创 C/C++标准库 之 <cstdio>(对文件访问)

1.fopen1.1 引入头文件:#include <stdio.h>1.2 声明式:FILE* fopen(const char* filename, const char* mode);1.3 作用:打开文件,打开在参数filename中指定名称的文件,并将其与一个流相关联,该流可以在以后的操作中通过返回的文件指针来识别。流上允许的操作以及如何执行这些操作由mode参数定义。2.fclose2.1 引入头文件...

2022-03-31 16:39:13 1138

原创 C/C++标准库 之 <cstdio>(对文件操作)

1.remove 1.1 引入头文件:#include <stdio.h>1.2 声明式:int remove(const char* filename);1.3 作用:删除文件名中指定名称的文件2.rename2.1 引入头文件:#include <stdio.h>2.2 声明式:int rename(const char* oldname, const char* newnam...

2022-03-31 15:11:51 1566

原创 C/C++标准库 之 <cstdarg>

1.va_list1.1 引入头文件:#include <stdarg.h>2.1 作用:保存有关变量参数的信息2.va_start 2.1 引入头文件:#include <stdarg.h>2.2 声明式:void va_start(va_list ap, paramN);2.3 作用:初始化变量参数列表,初始化ap以检索参数paramN之后的附加参数3.va_arg...

2022-03-31 14:32:01 960

原创 C/C++标准库 之 <csignal>

1.signal1.1 引入头文件:#include <signal.h>1.2 声明式:void (*signal(int sig, void (*func)(int)))(int);1.3 作用:设置处理信号的功能2.raise2.1 引入头文件:#include <signal.h>2.2 声明式:int raise(int sig); 2.3 作用:产生信...

2022-03-31 13:38:10 1055

原创 C/C++标准库 之 <cctype>

1.isalnum1.1 引入头文件:#include <ctype.h>1.2 声明式:int isalnum(int c);1.3 作用:检查字符是否为字母或数字2.isalpha2.1 引入头文件:#include <ctype.h>2.2 声明式:int isalpha(int c);2.3 作用:检查字符是否为字母3.isblank...

2022-03-31 10:52:30 585

原创 C/C++标准库 之 <cassert>

1. assert1.1 引入头文件:#include <assert.h>1.2声明式:void assert(int expression);1.3作用:检查表达式,如果表达式结果为0,则会向标准错误设备写入一条消息,并调用abort,从而终止程序执行。一般用于开发阶段做参数检查的目的。...

2022-03-31 10:23:04 1702

原创 Effective C++ 要点记录

条款1:视C++为一个语言联邦:C,Object-Oriented C++,Template C++和STLtips:1.C++高效编程守则视状况而变化,取决于你使用C++的哪一部分条款2:尽量以const,enum,inline替换#definetips:1.对于单纯常量,最好以const对象或enums替换#defines2.对于形似函数的宏,最好改用inline函数替换#defines条款3:尽可能使用consttips:...

2022-03-25 11:36:20 927

原创 Oracle VM VirtualBox如何设置一台主机上的两台虚拟机之间互相通信

1.首先新建两个虚拟机ubuntu_1和ubuntu_pure2.分别对两个虚拟机配置网络3.启动两个虚拟机,分别设置ip地址ubuntu_1:ubuntu_pure:4.测试ubuntu_1:ubuntu_pure:自此一台主机上两台虚拟机就可以互相通信了。...

2021-12-15 19:52:17 4466

原创 魔改Mongoose源文件,支持一次上传文件大于3M

修改read_conn文件static long read_conn(struct mg_connection *c) { long n = -1; // if (c->recv.len >= MG_MAX_RECV_BUF_SIZE) { // mg_error(c, "max_recv_buf_size reached"); // } else if (c->recv.size - c->recv.len < MG_IO_SIZE &

2021-12-07 16:34:18 879

原创 魔改Mongoose源文件,以支持Python requests模块请求上传文件失败的问题

项目场景: 基于Mongoose搭建的Http服务器,利用Python requests模块请求上传文件问题描述: 利用Python requests模块请求上传文件失败upload.py:from urllib3 import encode_multipart_formdataimport requestsdef sendFile(filename, file_path): """ :param filename:文件...

2021-12-07 14:33:56 518

原创 在Linux 下打包免安装的QT5程序

在Linux 下打包免安装的QT5程序

2021-12-07 13:51:58 659

原创 VSOME/IP开发环境搭建

VSOME/IP安装手顺

2021-11-26 18:30:35 1908

原创 Qt QTableView中嵌入Button

1.自定义ButtonDelegate /********************ButtonDelegate.h********************/#ifndef BUTTONDELEGATE_H#define BUTTONDELEGATE_H#include <QItemDelegate>#include <QPainter>#include <QStyleOptionViewItem>#include <QModelIndex&gt.

2021-11-19 12:28:13 2494 3

原创 Qt 获取文件夹下最后修改的文件名

QString getLastmodifiedTimeFileName(const QString& path){ QDir dir(path); QFileInfoList fileList = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files, QDir::Time); QString lastModifiedTimeFileName; if (fileList.isEmpty() == false) .

2021-11-19 11:36:42 320

原创 Qt 判断字符串是否全数字

bool isDigitString(const QString& src) { const char *s = src.toUtf8().data(); while(*s && *s>='0' && *s<='9')s++; return !bool(*s);}

2021-11-19 11:34:36 606

原创 Qt窗口置顶以及禁止其他窗口响应事件

置顶:Qt::WindowFlags flags = this->windowFlags();this->setWindowFlags(flags | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint);禁止其他窗口响应事件this->setWindowModality(Qt::ApplicationModal);

2021-11-19 11:30:36 1533

原创 Python tkinter 自定义筛选下拉框

from tkinter import Entry, Frame, Listbox, Scrollbar, StringVar, Tk, Toplevelfrom tkinter.constants import END, EW, HORIZONTAL, NSdef singleton(cls, *args, **kwargs): instances = {} def _singleton(): if cls not in instances: .

2021-09-10 18:09:38 1272 1

原创 Android学习笔记(一) 基本基础与Activity

1.引用资源<resources> <string name="app_name">HelloWorld</string></resources>1.1 在代码中通过R.string.hello_world可以获得该字符串的引用1.2 在XML中通过@string/hello_world可以获得该字符串的引用注:其中str...

2020-04-09 21:55:48 302

原创 JS中的作用域、var、let和const之间的区别

1.JavaScript作用域在 JavaScript 中有两种作用域类型:局部作用域:在 JavaScript 函数中声明的变量,会成为函数的局部变量,局部变量会在函数完成时被删除。 全局作用域:函数之外声明的变量,会成为全局变量,全局变量会在您关闭页面是被删除。补充:ECMAScript是一个国际通过的标准化脚本语言。JavaScript由ECMAScript和DOM、BOM三者组...

2020-03-30 14:49:48 234

原创 react判断点击位置是否为组件内,实现点击外部触发组件隐藏

要点:利用contains()函数判断点击区域是否包含目标DOM.,通过设置state中的值来判断所使用的组件是否显示或者隐藏。var React = require('react');var ReactDOM = require('react-dom');var CostomComponent = require('../CostomComponent');class Test e...

2020-03-27 14:58:47 2069 1

原创 读C陷阱与缺陷笔记

1.字符与字符串(1)用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。eg:对于采用ASCII字符集的编译器而言,'a'的含义与0141(八进制)或者97(十进制)严格一致。(2)用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符‘\0’初始化。eg:printf("He...

2019-07-01 10:05:26 145

原创 Java使用POI生成EXCEL(.xlsx)心得

1.设计思路:1.设定静态表头,包含表头的内容与式样2.设计存储表格内容的数据结构3.先读取表格内容存储于设计好的数据结构中,在生成EXCEL的表头,在依次根据表头和数据填充表格2.为什么用POI生成的EXCEL在Office下打开会失去单元格格式?原因:在使用POI生成excel时,使用过多的式样导致单元格格式失效对策:先定制excel中的式样,用map来存储,在生成ex...

2019-06-28 18:13:49 1216

原创 iGerrit ssh配置

一.iGerrit登录二.本地ssh配置1.如果没生成过ssh key,请先在本机生成一个ssh key:ssh-keygen -t rsa2.添加私钥到ssh agent:ssh-add id_rsa3.在本地的.ssh文件夹下新建config文件,文件中写入“user your_name”并保存三.本地ssh添加到服务器1.在登录的iGerrit上,点击Settings...

2019-06-28 17:24:43 613

原创 Ubuntu系统make降级版本

1、下载目标make源码: http://ftp.gnu.org/gnu/make/2、解压make源码到随便一个目录:tar -xjvf make-3.81.tar.bz2 3、进入make-3.81目录       执行:./configure      执行:make       执行:sudo make install4、查看make版本:make

2018-01-19 17:31:41 2898

原创 string/char[]/char* 是不是以'\0'结尾

1. const char* 字符串 以 “\0”结尾。2. char[] 字符串 以 “\0”结尾。3.string 字符串 不以 “\0”结尾。4. char[n] = "string", 当string 长度+“\0”>n时,会因空间不足出错。5.string.c_str() 转 const char* 时, 会在字符串末尾 自动补“\0”6.char

2018-01-17 17:46:59 3421

原创 void* 转 int

int a = 5;int b;void* p = &a;b = *(int*)p;

2017-12-28 17:47:52 2864

翻译 写一个简单的makefile

一个简单的Makefile教程Makefiles是组织代码编译的一种简单方法。本教程甚至没有描述使用make的可能性,而是作为初学者指南,以便您可以快速轻松地为中小型项目创建自己的makefile。一个简单的例子让我们从以下三个文件开始:hellomake.c,hellofunc.c和hellomake.h,它们分别代表一个典型的主程序,一些单独的文件中的某些功

2017-12-26 14:48:18 560

转载 Socket网络编程

Socket编程套接字概念Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传

2017-12-15 17:14:46 386

转载 ubuntu 脚本 字符串截取时出现Bad substitution的解决办法

脚本cutstr.sh的作用时截取www。#/bin/bashmm="www.baidu.com"echo ${mm:0:3}执行脚本方式不同出现的结果不同:方式1、sh cutstr.sh结果:Bad substitution方式2、bash cutstr.sh结果:www方式3、chmod 777 cu

2017-12-12 21:02:41 798

转载 shell中取字符串子串的几种方式

(1)awk中函数substrsubstr(源字符串,开始索引,长度)   开始索引以0开始示例:awk '{$a=substr($0,0,2);print $a;}' filename假设文件中为只有一行为abcdefg,则返回结果为ab(2)expr substr expr substr 字符串 开始索引 长度   开始索引以1开始示例:expr s

2017-12-12 21:01:20 951

转载 透彻分析C/C++中memset函数

在C语言中,经常需要对内存进行操作,里面涉及很多函数,但是memset函数的使用有一点需要大家格外注意,这也是我在做项目时遇到过的一个问题,调试了很久才找出来错误。函数原型是:void *memset(void *s, int ch, size_t n);    函数功能是:将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第

2017-12-06 17:47:10 305 1

原创 C语言文件操作

一、C文件概述1、“文件(file)”:所谓“文件”是指一组相关数据的有序集合。数据以文件的形式存放在外部介质(一般是磁盘、磁带、光盘等)上,在操作系统中是以文件为单位对数据进行管理的。以文件名作为访问文件的标识。2、C语言把文件看作一个字节序列,即由一连串的字节组成。根据文件中的数据组织形式,数据文件可分为ASCII码文件和二进制文件。ASCII码文件,又称为“文本文件”(t

2017-12-06 16:28:17 500

原创 vfscanf用法解析

int vfscanf ( FILE * stream, const char * format, va_list arg );描述:从流中读取格式化数据到可变参数列表中从流中读取数据并根据参数格式将它们存储到由arg标识的变量参数列表中的元素指向的位置。在内部,函数从arg标识的列表中检索参数,就好像va_arg被使用了一样,因此arg的状态很可能被调用所改变。在任何情况下,

2017-12-05 17:32:04 1660

原创 vsscanf用法解析

int vsscanf ( const char * s, const char * format, va_list arg );描述:从字符串中读取格式化的数据到变量参数列表中从s读取数据并根据参数格式将它们存储到由arg标识的变量参数列表中的元素指向的位置。在内部,函数从arg标识的列表中检索参数,就好像va_arg被使用了一样,因此arg的状态很可能被调用所改变。在任何情

2017-12-05 17:20:11 9064

原创 fscanf用法解析

int fscanf ( FILE * stream, const char * format, ... );描述:从流中读取格式化的数据从流中读取数据并根据参数格式将它们存储到附加参数指向的位置。额外的参数应该指向格式化字符串中已经分配了相应格式说明符指定类型的对象。参数:stream指向标识要从中读取数据的输入流的FILE对象。format包含格式字

2017-12-05 17:01:09 6539

原创 vscanf用法解析

int vscanf ( const char * format, va_list arg );描述:将格式化数据读入可变参数列表从标准输入(stdin)读取数据,并根据参数格式将它们存储到由arg标识的变量参数列表中的元素指向的位置。在内部,函数从arg标识的列表中检索参数,就好像va_arg被使用了一样,因此arg的状态很可能被调用所改变。在任何情况下,arg都应该在调用之

2017-12-05 16:45:48 2775

原创 fprintf用法解析

int fprintf ( FILE * stream, const char * format, ... );描述:写格式化的数据流将格式指向的C字符串写入流中。 如果格式包含格式说明符(以%开头的子序列),则格式化后的其他参数将被格式化并插入结果字符串中,替换其各自的说明符。在格式参数之后,函数至少需要格式指定的附加参数。参数:stream指向标识输出流的FIL

2017-12-05 11:34:07 10194

原创 vfprintf用法解析

int vfprintf ( FILE * stream, const char * format, va_list arg );描述:将可变参数列表的格式化数据写入流将格式指向的C字符串写入到流中,以与printf相同的方式替换任何格式说明符,但使用由arg标识的变量参数列表中的元素而不是附加的函数参数。在内部,函数从arg标识的列表中检索参数,就好像va_arg被使用了一样,因

2017-12-05 10:18:50 3806

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除