当前位置: 首页 > news >正文

网站注销备案重庆网站建设只选承越

网站注销备案,重庆网站建设只选承越,漳州网站开发找出博大科技,龙华网站建设主要工作概述 做项目#xff0c;掌握以下方法#xff0c;可提高开发效率#xff0c;把时间全部放在需求上。 1、快速获取结构体成员大小 #include stdio.h // 获取结构体成员大小 #define GET_MEMBER_SIZE(type, member) sizeof(((type*)0)-member)// 获取结构体成…概述 做项目掌握以下方法可提高开发效率把时间全部放在需求上。 1、快速获取结构体成员大小 #include stdio.h // 获取结构体成员大小 #define GET_MEMBER_SIZE(type, member) sizeof(((type*)0)-member)// 获取结构体成员偏移量 #define GET_MEMBER_OFFSET(type, member) ((size_t)((((type*)0)-member)))typedef struct _test_struct0 {char x;char y;char z; }test_struct0;typedef struct _test_struct1 {char a;char c;short b;int d;test_struct0 e; }test_struct1;int main(int arc, char* argv[]) {printf(GET_MEMBER_SIZE(test_struct1, a) %ld\n, GET_MEMBER_SIZE(test_struct1, a));printf(GET_MEMBER_SIZE(test_struct1, c) %ld\n, GET_MEMBER_SIZE(test_struct1, c));printf(GET_MEMBER_SIZE(test_struct1, b) %ld\n, GET_MEMBER_SIZE(test_struct1, b));printf(GET_MEMBER_SIZE(test_struct1, d) %ld\n, GET_MEMBER_SIZE(test_struct1, d));printf(GET_MEMBER_SIZE(test_struct1, e) %ld\n, GET_MEMBER_SIZE(test_struct1, e));printf(test_struct1 size %ld\n, sizeof(test_struct1));printf(GET_MEMBER_OFFSET(a): %ld\n, GET_MEMBER_OFFSET(test_struct1, a));printf(GET_MEMBER_OFFSET(c): %ld\n, GET_MEMBER_OFFSET(test_struct1, c));printf(GET_MEMBER_OFFSET(b): %ld\n, GET_MEMBER_OFFSET(test_struct1, b));printf(GET_MEMBER_OFFSET(d): %ld\n, GET_MEMBER_OFFSET(test_struct1, d));printf(GET_MEMBER_OFFSET(e): %ld\n, GET_MEMBER_OFFSET(test_struct1, e));return 0; }运行结果  2、文件操作 文件操作平时用得很多为了方便使用可以自己根据实际需要再封装一层 #include stdio.h static int file_opt_write(const char* filename, void* ptr, int size) {FILE* fp;size_t num;fp fopen(filename, wb);if (NULL fp){printf(open %s file error!\n, filename);return -1;}num fwrite(ptr, 1, size, fp);if (num ! size){fclose(fp);printf(write %s file error!\n, filename);return -1;}fclose(fp);return num; }static int file_opt_read(const char* filename, void* ptr, int size) {FILE* fp;size_t num;fp fopen(filename, rb);if (NULL fp){printf(open %s file error!\n, filename);return -1;}num fread(ptr, 1, size, fp);if (num ! size){fclose(fp);printf(write %s file error!\n, filename);return -1;}fclose(fp);return num; }typedef struct _test_data_info {char a;char c;short b;int d; }test_data_info;int main(int arc, char* argv[]) { #define FILE_NAME ./test_filetest_data_info write_data { 0 };write_data.a 1;write_data.b 2;write_data.c 3;write_data.d 4;printf(write_data.a %d\n, write_data.a);printf(write_data.b %d\n, write_data.b);printf(write_data.c %d\n, write_data.c);printf(write_data.d %d\n, write_data.d);file_opt_write(FILE_NAME, (test_data_info*)write_data, sizeof(test_data_info));test_data_info read_data { 0 };file_opt_read(FILE_NAME, (test_data_info*)read_data, sizeof(test_data_info));printf(read_data.a %d\n, read_data.a);printf(read_data.b %d\n, read_data.b);printf(read_data.c %d\n, read_data.c);printf(read_data.d %d\n, read_data.d);return 0; } 运行结果 3、进度条 有时候加上进度条可以比较方便知道当前的下载进度、写入文件的进度等。 #include stdio.h #include string.h #include windows.htypedef struct _progress_t {int cur_size;int sum_size; }progress_t;void progress_bar(progress_t* progress_data) {int percentage 0;int cnt 0;char proBuf[102];memset(proBuf, \0, sizeof(proBuf));percentage (int)(progress_data-cur_size * 100 / progress_data-sum_size);printf(percentage %d %%\n, percentage);if (percentage 100){while (cnt percentage){printf([%-100s] [%d%%]\r, proBuf, cnt);fflush(stdout);proBuf[cnt] #;Sleep(1);cnt;}}printf(\n); }int main(int arc, char* argv[]) {progress_t progress_test { 0 };progress_test.cur_size 82;progress_test.sum_size 100;progress_bar(progress_test);return 0; } 运行结果 4、日志输出 日志输出常常需要带一些格式。最简单的方式如 // 定义日志等级 typedef enum {LOG_DEBUG,LOG_INFO,LOG_WARNING,LOG_ERROR, } log_level_t;// 封装的日志函数 void log_message(log_level_t level, const char* message, const char* file, int line) {switch (level) {case LOG_DEBUG:printf(DEBUG: %s (%s:%d)\n, message, file, line);break;case LOG_INFO:printf(INFO: %s (%s:%d)\n, message, file, line);break;case LOG_WARNING:printf(WARNING: %s (%s:%d)\n, message, file, line);break;case LOG_ERROR:printf(ERROR: %s (%s:%d)\n, message, file, line);break;default:break;} }// 在代码中使用封装的日志函数 int main() {log_message(LOG_INFO, This is an info message, __FILE__, __LINE__);log_message(LOG_DEBUG, This is a debug message, __FILE__, __LINE__);log_message(LOG_WARNING, This is a warning message, __FILE__, __LINE__);log_message(LOG_ERROR, This is an error message, __FILE__, __LINE__);return 0; } 运行结果 5、总结  介绍完毕希望能帮助到你蟹蟹参阅
http://www.pierceye.com/news/10725/

相关文章:

  • 杭州企业营销网站建设公司中文静态网站下载
  • 房天下怎样快速做网站wordpress刷新
  • 北京通州网站制作公司响应式网页设计原理
  • 专业外贸网站制作贵州建设考试网站
  • 烟台网站建设威企汇互联见效付款火狐如何去掉2345网址导航
  • 网站建设初学软件摄影作品网站或app
  • 网站建设增长率seo主要优化
  • 郑州网站设计见效快微信怎么关闭小程序功能
  • 网站维护一般需要多久做小程序的公司
  • 什么网站模板网页设计的ppt展示
  • 做网站需要懂哪些语言定制钻戒
  • 网站被k文章修改可信网站 认证规则
  • vs 手机网站开发如何将软件上传到公开网站
  • flash网站建设教程视频网站管理系统
  • 中国建设协会网站首页网页制作和网站建设的区别
  • 图书馆网站建设情况汇报杭州网站定制开发哪家好
  • 深圳网站建设官网各大网站投稿方式
  • 钓鱼网站生成器床品图案设计网站
  • 美食网站开发计划网站集约化建设会议请示
  • 朝阳网站建设怎么样安徽工程建设信息网新网站
  • 太原做彩票网站公司中石油第六建设公司网站
  • 长沙建站找有为太极就治就网站能给企业带来什么
  • 西部数码成品网站在线看国内永久免费crm
  • 网站建设从哪几个情况去判品牌网站建设策划方案
  • 外贸行销网站做正规网站
  • 求网站网页设计图片叠加
  • 鲅鱼圈做网站wordpress菜单显示用户
  • 网站建站网站91955在线流程图网站怎么做
  • 建设部网站官网证书编号软文文案
  • 站酷网官方入口网页版设计网站公司咨询亿企邦