全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解dll动态库的开发与调用及文件的读写小程序

详解dll动态库的开发与调用及文件的读写小程序

首先我们先来学习一下动态库的调用,先找到动态库的.dll和.lib文件并将其导入到同源文件相同级别的文件夹下面,然后在添加进其头文件,并右击项目处,然后点击链接,链接我们的lib文件(一定要是全名称包括扩展名),然后我们就可以调用动态库的函数了。

Dll是我们具体的函数, lib使我们的函数描述文件。

#include <stdio.h> 
#include <stdlib.h> 
/* 
  该代码是对文件读写操作的使用 
*/ 
#pragma warning(disable:4996) 
#define MAX_DATA_LEN 4096 
//进行加密的函数 
int FileSymEnc(char * from, char * to); 
 
void main() { 
 
  char * from = "C:/Users/Administrator/Desktop/结构体的拷贝问题.docx"; 
  char * to = "C:/Users/Administrator/Desktop/副本结构体的拷贝问题.docx"; 
  //下面调用函数进行文件的读写 
  int re = FileSymEnc(from, to); 
  if (re == 0) { 
    printf("文件读写错误!"); 
  } 
  system("pause"); 
} 
 
int FileSymEnc(char * from, char * to) { 
  //返回值,以确定执行状态,-0代表失败,1代表成功 
  int re = 1; 
  //写了几个 
  int writtenLen = 0; 
  //准备写几个 
  int plainlen = 0; 
  //在堆区分配4k内存空间 
  unsigned char * buff = malloc(MAX_DATA_LEN); 
  buff = memset(buff, 0, MAX_DATA_LEN); 
  FILE * f = fopen(from, "rb"); 
  FILE * t = fopen(to, "wb"); 
  if (f == NULL) { 
    printf("打开读文件错误!"); 
    goto END; 
  } 
  if (t == NULL) { 
    printf("打开写文件错误!"); 
    goto END; 
  } 
 
  while (!feof(f)) 
  { 
 
    writtenLen = fread(buff, 1, MAX_DATA_LEN, f); 
    //判读是否读到了文件末尾,如果读到了则跳出循环 
    if (feof(f)) 
    { 
      plainlen = writtenLen; 
      break; 
    } 
 
    if (writtenLen != MAX_DATA_LEN) { 
      //没有读取成功 
      printf("文件读入失败!"); 
      re = 0; 
      goto END; 
    } 
    //读取成功进行文件的写入 
    writtenLen = fwrite(buff, 1, MAX_DATA_LEN, t); 
    if (writtenLen != MAX_DATA_LEN) { 
      printf("文件写入失败!"); 
      re = 0; 
      goto END; 
    } 
  } 
 
  //外面处理不到4K的写入问题,我们本不用进行格外的小数据读写,主不过这和我们的加密方式相关连得 
  writtenLen = fwrite(buff, 1, plainlen, t); 
  if (writtenLen != plainlen) { 
    printf("文件写入失败!"); 
    re = 0; 
    goto END; 
  } 
 
END: 
  //堆分配的内存进行释放 
  if (buff != NULL) { 
    free(buff); 
    buff = NULL; 
  } 
  //进行文件的关闭操作 
 
  if (f != NULL) { 
    fclose(f); 
    f = NULL; 
  } 
  if (t != NULL) { 
    fclose(t); 
    f = NULL; 
  } 
  return re; 
} 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# dll动态库  # dll动态库的开发与调用及文件的实例  # Linux动态库函数的详解  # Linux静态库与动态库实例详解  # android studio2.3如何编译动态库的过程详解  # Linux下g++编译与使用静态库和动态库的方法  # Linux环境g++编译GDAL动态库操作方法  # 解决Linux程序编译链接动态库版本的相关问题  # xcode 详解创建静态库和动态库的方法  # 浅谈Linux C语言动态库及静态库  # c++实现加载so动态库中的资源  # linux 程序、动态库、静态库内部添加版本号和编译时间详解  # 从源码编译Android系统的Java类库和JNI动态库的方法  # C#调用非托管动态库中的函数方法  # Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法  # 动态库调用静态库示例讲解  # linux生成(加载)动态库静态库和加载示例方法  # 深入探讨Linux静态库与动态库的详解(一看就懂)  # 分析Windows和Linux动态库  # 在动态库和静态库中使用模板(dynamic libraries  # static libraries)  # 几个  # 读到  # 如有  # 希望能  # 扩展名  # 写了  # 使我  # 谢谢大家  # 先来  # 这和  # 就可以  # 右击  # 返回值  # 疑问请  # 头文件  # 导入到  # 并将其  # gt  # stdlib  # stdio 


相关文章: 如何通过VPS建站实现广告与增值服务盈利?  如何零基础开发自助建站系统?完整教程解析  建站之星后台密码遗忘如何找回?  建站之家VIP精选网站模板与SEO优化教程整合指南  网站制作企业,网站的banner和导航栏是指什么?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  建站之星如何实现五合一智能建站与营销推广?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  北京制作网站的公司,北京铁路集团官方网站?  制作旅游网站html,怎样注册旅游网站?  如何通过宝塔面板实现本地网站访问?  想学网站制作怎么学,建立一个网站要花费多少?  如何快速启动建站代理加盟业务?  如何构建满足综合性能需求的优质建站方案?  表情包在线制作网站免费,表情包怎么弄?  网站微信制作软件,如何制作微信链接?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在IIS中新建站点并配置端口与物理路径?  如何快速查询网站的真实建站时间?  网站制作壁纸教程视频,电脑壁纸网站?  制作网站公司那家好,网络公司是做什么的?  如何解决VPS建站LNMP环境配置常见问题?  家具网站制作软件,家具厂怎么跑业务?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  焦点电影公司作品,电影焦点结局是什么?  高防服务器租用如何选择配置与防御等级?  如何自定义建站之星模板颜色并下载新样式?  西安大型网站制作公司,西安招聘网站最好的是哪个?  建站之星3.0如何解决常见操作问题?  Python如何创建带属性的XML节点  ,购物网站怎么盈利呢?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  制作网页的网站有哪些,电脑上怎么做网页?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何在Tomcat中配置并部署网站项目?  高防服务器如何保障网站安全无虞?  如何用PHP快速搭建高效网站?分步指南  网站按钮制作软件,如何实现网页中按钮的自动点击?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  如何获取开源自助建站系统免费下载链接?  如何选择适合PHP云建站的开源框架?  如何在云服务器上快速搭建个人网站?  如何快速查询域名建站关键信息?  如何在景安服务器上快速搭建个人网站?  建站之星安装需要哪些步骤及注意事项?  如何用免费手机建站系统零基础打造专业网站?  模具网站制作流程,如何找模具客户?  如何设计高效校园网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。