全网整合营销服务商

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

免费咨询热线: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 


相关文章: 如何在沈阳梯子盘古建站优化SEO排名与功能模块?  高防服务器租用如何选择配置与防御等级?  北京网站制作的公司有哪些,北京白云观官方网站?  seo网站制作优化,网站SEO优化步骤有哪些?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何将凡科建站内容保存为本地文件?  如何高效搭建专业期货交易平台网站?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  在线制作视频的网站有哪些,电脑如何制作视频短片?  大同网页,大同瑞慈医院官网?  建站之星24小时客服电话如何获取?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何确保FTP站点访问权限与数据传输安全?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  制作网站的公司有哪些,做一个公司网站要多少钱?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  如何通过.red域名打造高辨识度品牌网站?  北京制作网站的公司,北京铁路集团官方网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  如何正确选择百度移动适配建站域名?  建站之星伪静态规则如何设置?  建站主机如何安装配置?新手必看操作指南  宝塔新建站点报错如何解决?  IOS倒计时设置UIButton标题title的抖动问题  如何高效完成自助建站业务培训?  建站之星如何配置系统实现高效建站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  平台云上自主建站:模板化设计与智能工具打造高效网站  如何获取PHP WAP自助建站系统源码?  如何确保西部建站助手FTP传输的安全性?  ,网页ppt怎么弄成自己的ppt?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  常州企业网站制作公司,全国继续教育网怎么登录?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站之星安装失败:服务器环境不兼容?  如何通过西部建站助手安装IIS服务器?  如何快速查询网址的建站时间与历史轨迹?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何快速上传自定义模板至建站之星?  网站制作价目表怎么做,珍爱网婚介费用多少?  如何通过主机屋免费建站教程十分钟搭建网站?  如何在阿里云通过域名搭建网站?  已有域名和空间如何快速搭建网站? 

您的项目需求

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