运行结果:

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多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语言、嵌入式中几个非常实用的宏技巧
一个简单的日志模块

