首页 > printf格式化输出几点注记

printf格式化输出几点注记

搞了很多年c/c++,有很多细小的东西,曾经不止一次遇到,可是一直都是放在零散的地方,要用的时候怎么也找不到,今天,我痛下决心,改掉不良习惯,把这些经验或是tips记录在这里,便于日后查找。

1.在统计网络下载信息时,如何表达文件大小?



下面是输出结果



2.打印size_t类型数据的长度,使用%lu。

下面是一个使用OpenSSL中HMAC-Sha1算法计算加密字符串的例子,记录如下。

//gcc -g hmac_sha1_demo1.c -o hmac_sha1_demo1 -lcrypto --std=c99#include 
#include 
#include int main()
{// The key to hashchar key[] = "012345678";// The data that we're going to hash using HMACchar data[] = "hello world";unsigned char* digest;// Using sha1 hash engine here.// You may use other hash engines. e.g EVP_md5(), EVP_sha224, EVP_sha512, etcdigest = HMAC(EVP_sha1(), key, strlen(key), (unsigned char*)data, strlen(data), NULL, NULL);printf("%s, len %lu
", digest, strlen(digest));// Be careful of the length of string with the choosen hash engine. SHA1 produces a 20-byte hash value which rendered as 40 characters.// Change the length accordingly with your choosen hash enginechar mdString[41] = {''};for(int i = 0; i < 20; i++)sprintf(&mdString[i*2], "%02x", (unsigned int)digest[i]);printf("HMAC digest: %s
", mdString);return 0;
}
运行结果





3.打印time_t类型的数据,使用%lu,参见下面的小例子:时间字符串转换为时间戳

#include 
#include 
#include 
#include time_t str2time(const char* s){struct tm tm_time;strptime(s, "%Y%m%d%H%M%S", &tm_time);time_t p = mktime(&tm_time);return p;
}int main(int argc, char* argv[]){const char* str = "20150622193125";time_t timep;timep = str2time(str);printf("%lu
", timep);time(&timep);printf("%lu
", timep);return 0;
}
下面是运行结果:





更多相关:

  • 如果你想从头学习Jmeter,可以看看这个系列的文章哦Charts 介绍包含了各种详细信息图表,比 GUI 模式的图表好看且易懂多了!做性能测试,如何发现是否有性能瓶颈?必须从结果图表中找到鸭!而 html 报告将性能测试可能需要用到的图表都加进去了,可谓是6666一共有三大模块Over TimeThroughputResponse...

  • 控制(Controls) 1.PID控制简介 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它 以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的...

  • 1,解决的问题。 2.如何实现。 面对大流量网站频繁访问数据库的一种优化,比如博客网站。不可能每个人查看都访问一次数据库。为了解决大量不必要访问的问题。 可以把第一次的内容保存为html页面。再以后定义的过期时间内都访问该静态页面。 以下是一个小的demo index.php来实现静态化的主要工作。 1

  • 什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊。 DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA"。 索引 按页编号查看数据表信息获取查询 SELECT 语句的执行次数排名看看哪些 Ad-hoc Query 在浪费资源查看当前处于等待状态的 T...

  • HMAC: Hash-based Message Authentication Code,即基于Hash的消息鉴别码 在各大开放平台大行其道的互联网开发潮流中,调用各平台的API接口过程中,无一例外都会用到计算签名值(sig值)。而在各种计算签名的方法中,经常被采用的就是HMAC-SHA1,现对HMAC-SHA1做一个简单的介绍:...

  • 今天介绍两种基础的字符串匹配算法,当然核心还是熟悉一下Go的语法,巩固一下基础知识 BF(Brute Force)RK(Rabin Karp) 源字符串:src, 目标字符串:dest; 确认dest是否是src 的一部分。 BF算法很简单暴力,维护两个下标i,j,i控制src的遍历顺序, j控制dest遍历顺序。 记录一下i的...

  • 总体的hash学习导图如下: 文章目录定义分类字符hash排序hash链式hash(解决hash冲突)创建链式hash查找指定数值STL map(hash)哈希分类 完整测试代码应用(常见题目)1. 回文字符串(Longest Palindrome)2. 词语模式(Word Pattern)3. 同字符词语分组(Group Ana...

  • 关于点云的分割算是我想做的机械臂抓取中十分重要的俄一部分,所以首先学习如果使用点云库处理我用kinect获取的点云的数据,本例程也是我自己慢慢修改程序并结合官方API 的解说实现的,其中有很多细节如果直接更改源程序,可能会因为数据类型,或者头文件等各种原因编译不过,会导致我们比较难得找出其中的错误,首先我们看一下我自己设定的一个场景,...

  • /* 使用正态分布变换进行配准的实验 。其中room_scan1.pcd room_scan2.pcd这些点云包含同一房间360不同视角的扫描数据 */ #include #include #include #include

  • #include #include #include #include ...

  • #include #include #include #include #include #include...

  • #include #include #include #include int main (int argc,...