搞了很多年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 <stdio.h>
#include <string.h>
#include <openssl/hmac.h>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\n", 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] = {'\0'};for(int i = 0; i < 20; i++)sprintf(&mdString[i*2], "%02x", (unsigned int)digest[i]);printf("HMAC digest: %s\n", mdString);return 0;
}

运行结果

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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>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\n", timep);time(&timep);printf("%lu\n", timep);return 0;
}

下面是运行结果:

printf格式化输出几点注记相关推荐

  1. C语言 printf格式化输出,参数详解

    有关输出对齐 int main(int argc, char* argv[]) {  char insertTime[20] = {"1234567890"};  double i ...

  2. C语言scanf()函数格式化输入和printf()格式化输出。

    scanf函数格式化输入和printf格式化输出 要实现的功能如下 完整源代码实现如下 要实现的功能如下 scanf函数格式化输入字符串和字符,printf格式化输出字符串和字符. 完整源代码实现如下 ...

  3. c++ 输出二进制_C语言 printf 格式化输出的详细示例

    printf 是C语言非常有用的一个函数,也是我们入门学习C语言的第一个函数.掌握 printf 的格式化输出,对后续的学习非常有帮助. 在程序中要使用 printf,必须要包含头文件 stdio.h ...

  4. 【C/C++】printf格式化输出-科学计数法形式的浮点数

    C语言printf格式化输出修饰符 printf()的格式符 转换说明 输出 %a, %A 浮点数.十六进制数和p-计数法(C99) %c 一个字符 %d 有符号十进制数 %e, %E 浮点数,e计数 ...

  5. matlab printf格式化输出,Shell printf格式化输出命令

    printf 是 awk 的重要格式化输出命令,本节我们先介绍一下 printf 命令如何使用. 需要注意,在 awk 中可以识别 print 输出动作和 printf 输出动作(区别是:print ...

  6. Shell printf格式化输出命令

    printf 是 awk 的重要格式化输出命令,本节我们先介绍一下 printf 命令如何使用. 需要注意,在 awk 中可以识别 print 输出动作和 printf 输出动作(区别是:print ...

  7. golang printf 格式化输出

    Printf 格式化输出 通用占位符: v 值的默认格式. %+v 添加字段名(如结构体) %#v 相应值的Go语法表示 %T 相应值的类型的Go语法表示 %% 字面上的百分号,并非值的占位符 布尔值 ...

  8. Go语言基础--Printf格式化输出、Scanf格式化输入详解

    几种输出方式的区别 Print.Println .Printf .Sprintf .Fprintf都是fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢? Print: ...

  9. java 利用printf格式化输出

    import java.util.Date;/*** 使用printf输出*//**关键技术点* 使用java.io.PrintStream的printf方法实现C风格的输出* printf 方法的第 ...

最新文章

  1. ServiceMesh架构的演变过程概述
  2. 【2012年终总结】之一 opencv + ds采集摄像头视频 MFC点点滴滴
  3. BZOJ 4174 tty的求助 莫比乌斯反演
  4. web.config加密解密批处理
  5. colab如何通过<>来直接加入相对应的代码段呢?模块化代码操作,真好
  6. oracle中触发器的语法,解析Oracle触发器的语法
  7. svn代码版本管理总结
  8. 咏南WEB APP开发框架
  9. VDI序曲十一 微软桌面虚拟化之授权服务器
  10. SQL Server从入门到精通pdf
  11. undertale人物_undertale人物大全 | 手游网游页游攻略大全
  12. 乐队的夏天大结局!用Python分析投票数据,选出真正的乐队TOP 5
  13. Python办公系列--Python创建Excel工作簿
  14. 如何欺骗神经网络,让它把熊猫识别为秃鹫
  15. 手机可以拍证件照吗,这方法不错
  16. 衡量风控模型优劣的曲线-PR曲线、ROC曲线、K-S曲线、Lift曲线
  17. 2019-2-27-VisualStudio-插件-翻译注释
  18. BBUCTF消失的MD5题解
  19. SMSS.EXE病毒处理
  20. python输出古诗词_python爬虫——爬取古诗名句

热门文章

  1. 2022-2028年中国游泳健身行业市场研究及前瞻分析报告
  2. 数据库SQL优化大总结之百万级数据库优化方案
  3. Solr初始化源码分析-Solr初始化与启动
  4. 九度 1553:时钟(模拟题)
  5. HDU 1429 胜利大逃亡(续) (BFS+位压缩)
  6. C#关于面对象多态例子
  7. 这样在一个sql里完成更新和插入,只用一次数据库连接,效率提高了
  8. Ubuntu18.04运行ORB_SLAM2
  9. java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能
  10. 目标检测计算mAP,AP,Recall,Precision的计算方式和代码(YOLO和FastRCNN等)