- C语言拾遗--myprintf
T_tangc
c++
#include//va_xxx都在此函数库中//参数中就有固定参数str和可变参数(用”…”表示)voidmy_printf(char*str,...){//是用宏定义的标识符,是指向字符类型的指针va_listarg;//取出va_list定义的变量的地址,并加上可变元素的数目实际指向的是那个后边的可变参数列表va_start(arg,str);intch=0;char*pstr=NULL;w
- Java函数
java部落
函数就是定义在类中具有特定功能的一段独立的小程序。[也称为方法]函数的格式:修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,......){执行语句;return返回值;}publicclassExample20{//调用函数举例publicstaticvoidmain(String[]args){//调用myprintf方法myprintf(3,5);myprintf(2,4);
- (参考printf)将字符串显示到LCD屏上
suDreamer
单片机C字符串
第一步,将整数转换成字符串第二步,中间字符串的替换第三步,整合注:使用到不限个数传参的思想//将整数插入到字符串当中//str:字符串//...:模仿标准printf,不过目前只支持%d//注意:返回的指针是个临时申请的字符串,使用完这个函数后记得freeu8*myprintf(u8*str,...){va_listap;//定义一个可变参数的(字符指针)u8count=0,flag=0;va_s
- 实现自己的myprintf
Self_Chou
写的程序
最近看《C和指针》,里面讲到了可变参数如下图,所以就想自己实现一个myprintf下面是实现的简单的myprintf.h#include#defineNULL0va_listargs;charsign[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};voidprint_int(intnum,intmode,in
- 王爽《汇编语言》探究实验五——自己实现一个printf函数
小兵比克
C语言基础学习汇编语言c
voidmyprintf(char*,...);intlength;voidmain(){myprintf("abcdefg%h%%%dabcde%c",-123,'m');}voidmyprintf(char*chars,...){inti=0;intanum=0,anumcopy=0,yu=0,yulen=0;intyuss[9];int*yus=yuss;intlength;intposit
- 单片机-结构体函数指针使用方法
Ch_champion
单片机开发
概述C语言结构体对函数指针封装示例(面向对象思想写法)1、示例:#includeinti,j;structDATE{intyear;charmonth;chardata;charhour;charmin;charsec;};structDATEdate;structstr_func{inta;intb;void(*myPrintf)(void);void(*init_value)(void);vo
- Linux下有用的 myprintf 函数
dijkstar
LinuxVC++QT
输出如:2019-09-0918:29:30:391[test1.cpp->myprintf->L34]hello:8898,即带了精确到毫秒级时间的printf,对调试时序逻辑的程序非常有用(如多线程时序同步),用法和普通的printf一样:#include#include#includeintmyprintf(constchar*fmt,...){staticchartip[1024]={0}
- C语言宏高级用法 ## __VA_ARGS__
spfanlost
宏变量:index#definemyprintf(...)printk("[lch]:File:%s,Line:%d,Function:%s,"\__VA_ARGS__,__FILE__,__LINE__,__FUNCTION__);此处的#define的作用是将myprintf()换成后面那一大串的内容,而括号内...的内容原样抄写在VA_ARGS的位置。终于输出例如以下:[lch]:File:
- C语言实现printf()函数功能
王廷云的博客
C语言
/************************************************文件名:myPrintf.c*文件功能:使用putchar函数模拟printf函数的功能*编辑人:王廷云*编辑时间:2017-10-14*修改时间:2018-1-12************************************************/#include#include/*功
- C语言之myprintf
Allureyou
C语言基础
#include#includeintmain(){ inti; intn; charstr[100]; printf("请输入一个字符串:"); scanf("%s",str); for(i=0;str[i]!='\0';i++) { printf("%c",str[i]); } printf("\n");}
- 实在是没搞懂 debug宏
debug
在缺氧的博客中看到 debug宏,方便调试程序,但我没看懂...
debug.h 文件
#ifndef DEBUG_H_
#define
DEBUG_H_
int
myprintf(
char
*
format,...);
#define
ENABLE_STDOU
- 封装自己的printf函数
printf
#include <stdio.h>
#include <stdarg.h>
//方式一
#define DBG_PRINT (printf("%s:%u %s:%s:\t", __FILE__, __LINE__, __DATE__, __TIME__), printf)
//方式二
void MyPrintf(const
- GO语言练习:不定参数函数
go语言
1、代码
2、运行
1、代码
package main
import "fmt"
func MyPrintf(args ...interface{}){
for _, arg := range args {
switch arg.(type) {
case int :
fmt.Printl
- C语言的内联函数的作用
xiaohaijiejie
内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。[cpp] viewplaincopyvoid myprintf(int a) { priintf("%d",
- C++11标准新增可变参数模板(variadic template)
yjf_victor
C++11标准新增加了“可变参数模板”(variadictemplate)。可变参数模板中,模板的typename个数是可变长度的。下面给个例子,已在g++4.6.1上编译通过,并成功运行。/*
*C++11标准可变参数模板(variadictemplate)样例
*
*
*Copyright©叶剑飞2012
*
*
*编译命令:
*g++myPrintf.cpp-omyPrint
- C语言可变长参数实现原理
davidsky11
C语言可变参数
(1)C语言可变参数我们可以从C语言的printf得出可变参数的作用,printf函数的原型如下:intprintf(constchar*format,...);通过使用可变个数参数,就是传入的参数个数是可变的,如printf需要根据format实参传入多个实参。(2)C语言可变参数的使用下面一个函数myprintf是自己实现的比较简单的printf函数,不完整但是可以说明可变参数的用法。/* *
- 宏的高级使用--##,__VA_ARGS__, __FILE__, __FUNCTION__等
leiych
先说一下本文中会提到的内容:##,__VA_ARGS__,__FILE__,__LINE__,__FUNCTION__等。例如:#definemyprintf(...)printk("[lch]:File:%s,Line:%d,Function:%s,"__VA_ARGS__,__FILE__,__LINE__,__FUNCTION__);此处的#define的作用是将myprintf()换成后面
- 实现自己的myprintf
Self_Chou
最近看《C和指针》,里面讲到了可变参数如下图,所以就想自己实现一个myprintf 下面是实现的简单的myprintf.h#include
#defineNULL0
va_listargs;
charsign[]={'0','1','2','3','4','5',
'6','7','8','9','a','b',
'c','d','e','f'};
voidprint_
- 宏的高级使用--##,__VA_ARGS__, __FILE__, __FUNCTION__等
hulefei29
function
先说一下本文中会提到的内容:##,__VA_ARGS__, __FILE__, __LINE__ , __FUNCTION__等宏变量:先举一个例子,会用到上面这些宏:
[cpp]
view plain
copy
#define myprintf(...) printk("[lch]:File:%s, L
- 先说一下本文中会提到的内容:##,__VA_ARGS__, __FILE__, __LINE__ , __FUNCTION__等
Monzart7an
先说一下本文中会提到的内容:##,__VA_ARGS__,__FILE__,__LINE__,__FUNCTION__等宏变量:先举一个例子,会用到上面这些宏:[cpp]viewplaincopyprint?#define myprintf(...) printk("[lch]:File:%s, Line:%d, Function:%s," \ __VA_ARGS__, __FILE_
- C/C++宏定义的可变参数详细解析
编写代码的过程中,经常会输出一些调试信息到屏幕上,一般会调用printf这类的函数。但是当调试解决之后,我们需要手工将这些地方删除或者注释掉。最近在看《LinuxC编程一站式学习》这本书,就想到一个方法:复制代码代码如下:voidmyprintf(char*fmt,...){}#ifdefDEBUG#defineprintf(fmt,args...)myprintf(fmt,##args)#end
- Python中函数个数可变参数的传递
liuguiyangnwpu
python参数传递任意参数
如果用过C语言中的printf()函数,那么就会对参数传递个数可变的意义比较了解了。尽管可选参数的机制令函数的参数个数是可变的,但还是有限制的,参数个数有最大的限制,而且还要指明哪些是可选参数。而下面这个机制,可以接受热议多个参数。>>>defMyPrintf(format,*arg):
format%arg
>>>MyPrintf("%disgreaterthan%d",1,2)其中*arg
- myprintf
张黑蛋2012
myprintf
#include#include#includevoidprinti(intn){ char*p,*q; p=malloc(100); q=p; do{ *p=n%10+48; p++; }while(n=n/10); p--; while(p!=q) putchar(*p--); putchar(*p); free(q);}voidprinta(char*p)
- C/C++宏定义的可变参数
chenglinhust
C/C++宏定义的可变参数编写代码的过程中,经常会输出一些调试信息到屏幕上,一般会调用printf这类的函数。但是当调试解决之后,我们需要手工将这些地方删除或者注释掉。最近在看《LinuxC编程一站式学习》这本书,就想到一个方法:void myprintf(char* fmt,...){}#ifdef DEBUG#define printf(fmt,args...)myprintf(fmt,##a
- 不使用man 3 printf的函数,实现一个简单的printf函数
AAA20090987
题目:不使用manprintf中的函数,实现一个简易的输出函数myprintf。函数声明:intmyprintf(constchar*format,...);要求该函数可以识别(只需要识别)出format字符串中的%ld,%lf,%c,%s这四个转义字符,并转化成相应的参数。说明:manprintf中的函数即:printf,fprintf,sprintf,snprintf,vprintf,vfpr
- c 可变参数方法
xiewenbo
到目前为止我们只见过一个带有可变参数的函数printf:intprintf(constchar*format,...);以后还会见到更多这样的函数。现在我们实现一个简单的myprintf函数:例 24.9. 用可变参数实现简单的printf函数#include
#include
voidmyprintf(constchar*format,...)
{
va_listap;
charc;
va_
- c/c++ 可变参数在函数中的传递
曲径通幽
c/c++可变参数在函数中的传递@note:只在windows中测试,未在linux上跑过方法一:通过宏传递例如1 void myprintf(const char* format, );2 3 #ifndef PASS_ARGS4 #define PASS_ARGS(_fmt,) \5 myprintf(fmt,__VA_ARGS__)6 #endif这种方式最简单最直接,但不利于函数的封装
- [置顶] C语言中可变形参简单实例和简单的printf功能的实例
JarvisChu
clistString语言float
以下程序主要包括三个主要函数:一个最简单的可变形参函数实例;一个简单的printf功能的实例;一个打印字符串函数(辅助);其中myPrintf函数,实现了printf的部分简单功能,并没有去实现格式化输出操作(%2d%.2f等),因为只是它一个实例而已,目的是更好理解掌握可变参数。后续有兴趣时,我会继续完善的。 /******************************************
- 代码测试----不定参函数
liucanrui
测试
#include #include void MyPrintf(char *format, ...) { va_list ap; va_start(ap, format); vprintf(format, ap); va_end(ap); } void Error(char *format, ...) { va_list a
- linux下ELF文件和动态库,静态库分析
Fangrn
C++clinuxgccC#
本文使用readelf和objdump工具,对PPC处理器下的ELF可执行文件进行分析. 首先展示一下我们将要分析的对象: [ygliu@publicPC-6 home]$ cat test.c #include <stdio.h> int main(void) { myprintf();  
- ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM字节码动态生成ClassNodeTreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
- 链表树——复合数据结构应用实例
bardo
数据结构树型结构表结构设计链表菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
- 为啥要用位运算代替取模呢
chenchao051
位运算哈希汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
- 最近的情况
麦田的设计者
生活感悟计划软考想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
- PHP去掉字符串中最后一个字符的方法
IT独行者
PHP字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
- hadoop在linux上单机安装过程
_wy_
linuxhadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
- JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互分布式事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
- 安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
- myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
- java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
- javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
- 探索JUnit4扩展:使用Theory
bijian1013
javaJUnitTheory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
- [Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
- 【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
- java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
- java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
- Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
javanetty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
- linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
- Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
- Hive几种导出数据方式
daizj
hive数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
- 编程之美
dcj3sjt126com
编程PHP重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
- Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
- Oracle 复习笔记之同义词
eksliang
Oracle 同义词Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
- Ajax案例
gongmeitao
Ajaxjsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
- ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.netWebC#asp.nethovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
- SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
- 事务管理
luyulong
javaspring编程事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
- 基础数据结构和算法十一:Red-black binary search tree
sunwinner
AlgorithmRed-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
- centos同步时间
stunizhengjia
linux集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
- ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro