运行结果:
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:嵌入式物联网学习资料(头条)
进度条
有时候,加上进度条可以比较方便知道当前的下载进度、写入文件的进度等。
代码:
左右滑动查看全部代码>>>
// 微信公众号:嵌入式大杂烩
#include
#include
#include
typedef struct _progress
{
int cur_size;
int sum_size;
}progress_t;
void progress_bar(progress_t *progress_data)
{
int percentage = 0;
int cnt = 0;
char proc[102];
memset(proc, '', sizeof(proc));
percentage = (int)(progress_data->cur_size * 100 / progress_data->sum_size);
printf("percentage = %d %%
", percentage);
if (percentage <= 100)
{
while (cnt <= percentage)
{
printf("[%-100s] [%d%%]r", proc, cnt);
fflush(stdout);
proc[cnt] = '#';
usleep(100000);
cnt++;
}
}
printf("
");
}
int main(int arc, char *argv[])
{
progress_t progress_test = {0};
progress_test.cur_size = 65;
progress_test.sum_size = 100;
progress_bar(&progress_test);
return 0;
}
运行结果:
日志输出
日志输出常常需要带一些格式。最简单的方式如:
代码:
左右滑动查看全部代码>>>
// 微信公众号:嵌入式大杂烩
#include
#define LOG_D(fmt, args...) do
{
printf("<> ", __FILE__, __LINE__, __FUNCTION__);
printf(fmt, ##args);
}while(0)
int main(int arc, char *argv[])
{
char ch = 'a';
char str[10] = "ZhengN";
float float_val = 10.10;
int num = 88;
double double_val = 10.123456;
LOG_D("字符为 %c
", ch);
LOG_D("字符串为 %s
" , str);
LOG_D("浮点数为 %f
", float_val);
LOG_D("整数为 %d
" , num);
LOG_D("双精度值为 %lf
", double_val);
LOG_D("八进制值为 %o
", num);
LOG_D("十六进制值为 %x
", num);
return 0;
}
运行结果:
可阅读往期文章:
C语言、嵌入式中几个非常实用的宏技巧
一个简单的日志模块