一、VS2019 安装配置boost库

1、库下载

boost v1.75下载: Boost Downloads

boost v1.70下载:Version 1.70.0

本文使用boost v1.70 ,vs使用2019

解压boost库

2、使用VS tool中developer Command终端工具对解压之后的文件boostrap.bat进行编译

进入解压后的boost目录,执行 bootstrap.bat 命令

生成如下两个文件:

在命令行终端执行如下命令:注意vs2019对应 14.2

bjam.exe --toolset=msvc-14.2 architecture=x86 address-model=64 link=static --build-type=complete --with-system --with-thread --with-date_time --with-filesystem --with-serialization

3、vs2019 配置环境

新建vs2019 C++项目,并添加boost依赖库 >点击菜单栏 项目——>属性——>选择VC++目录,在包含目录 和 库目录添加以上下2个路径:

配置安装完成。

二、C++ 文件读写

2.1 文件目录及创建 boost::filesystem

boost::filesystem是Boost C++ Libraries中的一个模块,主要作用是处理文件(Files)和目录(Directories)。

使用头文件

#include "boost/filesystem.hpp"

boost::filesystem::create_directory(''/root/mytest") ;                        创建目录

boost::filesystem::path  myPath = ''/root/mytest";

boost::filesystem::exists()  ;     判断是否存在

boost::filesystem::create_directory()                             创建目录

应用举例:

#include <iostream>
#include <functional>
#include "boost/filesystem.hpp"
int main()
{boost::filesystem::path path("/test/test1");   //初始化 boost::filesystem::path old_cpath = boost::filesystem::current_path(); //取得当前程序所在文件夹boost::filesystem::path parent_path = old_cpath.parent_path();//取old_cpath的上一层父文件夹路径 boost::filesystem::path file_path = old_cpath / "file"; //path支持重载/运算符if (boost::filesystem::exists(file_path))  //推断文件存在性  {std::string strPath = file_path.string();int x = 1;}else{//文件夹不存在;   boost::filesystem::create_directory(file_path);  //文件夹不存在。创建 }boost::filesystem::path new_file_path = file_path / "test.txt";if (boost::filesystem::is_regular_file(new_file_path))    //推断是否为普通文件{auto sizefile = boost::filesystem::file_size(new_file_path);  //文件大小(字节)std::cout << "file size = " << sizefile;}}

2.2 写文件 std::ofstream

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的。

在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的。文件有关系的输入/输出类主要在头文件<fstream>中被定义。在这个头文件中主要定义了3个类。由这3个类控制对文件的各种输 入/输出操作,它们分别是ifstream、ofstream、fstream。其中基类是fstream,而ifstream是对于输入特性进行拓展的继承类。ofstream就是对于输出特性进行拓展的继承类。

2.1 打开文件

使用fstream类中的成员函数open()

void open(const char* filename,int mode,int access);

filename:  要打开的文件名

mode:   要打开文件的方式

ofstream 默认是以输出方式打开文件,若文件不存在,则自动创建

access:  打开文件的属性打开文件的方式

// ofstream constructor.
#include <fstream>      // std::ofstreamint main () {std::ofstream ofs ("test.txt", std::ofstream::out);ofs << "lorem ipsum";ofs.close();return 0;
}

指定路径下,写文件,采用覆盖的策略:

std::string fileName =/bin/test.txt ;
try {std::ofstream ofstr(fileName);//文件不存在则创建if (!ofstr.is_open()) {cout <<"error"<<endl;return false;}ofstr << "写入内容" << '\n';ofstr.close();
}
catch(...)
{
}

写二进制文件流

sfileName = "123.bin";std::ofstream ofstr(sfileName, std::ofstream::out | std::ios_base::binary);
if (!ofstr.is_open()) {}
char *data ="qsasssl\n";
ofstr.write(data, sizeof(char)*7);ofstr.close();

2.3 读文件 std::ifstream

std::string path = "/test.txt";
std::string temp;
std::ifstream infile(path);
if(!infile.is_open())
{std::cout << "open error";
}while(getline(infile,temp))
{}
infile.close();

参考文献:

【1】boost::filesystem::path 用法:boost::filesystem总结 - Lilu1223 - 博客园

【2】vs2019 安装boost库: VS2019配置C++ boost库 - 牛犁heart - 博客园

【3】boost::filesystem经常使用使用方法具体解释 :boost::filesystem经常使用使用方法具体解释 - yxysuanfa - 博客园

C++11 文件读写(vs2019 安装配置boost库)相关推荐

  1. VS2015安装配置boost库

    反反复复搞了几次,终于好了!在此,特意写了自认为最全的步骤,希望你们安装顺利! 下面介绍完整安装boost库的方法: 1.首先到boost官网去下载最新的版本的boost库: http://www.b ...

  2. 详解“FTP文件传输服务”安装配置实例

    "FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsft ...

  3. python 2.7.11 linux,Python-2.7.11+Django-1.9.4安装配置

    Python-2.7.11+Django-1.9.4安装配置 1.去python官网下载2.7的最新版本 1.1 解压Python-2.7.11.tgz tar xvf Python-2.7.11.t ...

  4. windows7 + Qt(MSVC2017) + VS2019安装配置

    windows7 + Qt(MSVC2017) + VS2019安装配置

  5. QT下配置Boost库

    QT下配置Boost库 前言 当使用别人的QT工程,复制到自己机器上,发现报如下错误 从QtCreator报错来看是找不到Boost相关文件和库 问题解决 首先去官网下载Boost库 编译boost库 ...

  6. Win10 环境通过gcc手动编译配置boost库 for LibreCAD

    Win10 环境通过gcc手动编译配置boost库 for LibreCAD 0. 说明 1. 手动配置编译boost库 2. 将库文件和头文件添加到项目中 0. 说明 在win10环境下,通过Qt编 ...

  7. Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法

    1.首先你需要去下载最新的boost,www.boost.org ,我下的1.58版本. 2.解压到文件夹,我解压到了E:\boost. 3.在开始菜单打开Visual Studio Tools,, ...

  8. VS2008下直接安装使用Boost库1.46.1版本号

    Boost库是一个可移植.提供源码的C++库,作为标准库的后备,是C++标准化进程的发动机之中的一个. Boost库由C++标准委员会库工作组成员发起,当中有些内容有望成为下一代C++标准库内容.在C ...

  9. VS2008下直接安装使用Boost库1 46 1版本

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Boos ...

最新文章

  1. 偷看日历?9款 APP 涉嫌过度获取权限 1
  2. 【Jenkins】持续集成、持续交付与持续部署
  3. mysql 临时表增加主键_MySQL之重建表
  4. 对TypeScript进行研究
  5. 应用框架的设计与实现学习手札系列(持续更新)
  6. mysql 记录操作_MySQL 记录操作
  7. 利用IS61LV12816实现DSP28335的内存扩展
  8. 发布Library到JCenter
  9. php 的绝对引用,excel单元格引用分为哪三种
  10. latex制作幻灯片模板
  11. SqlServer 远程主机强迫关闭了一个现有的连接
  12. iphone/ios兼容问题
  13. 第五章. 可视化数据分析图表—常用图表的绘制2—直方图,饼形图
  14. 【matlab】输入一字符串,字母大写变小写,小写变大写。
  15. Unity Webgl内嵌网页页面
  16. 多项式, FTT, NTT小结
  17. CGO arm 树莓pi下的交叉编译
  18. java怎么获取索引值,Java 实例 - 获取向量元素的索引值
  19. 在word插入钢筋符号
  20. 关于MATLAB2019a的三相全控桥整流电路的画法学习

热门文章

  1. 了不起的Node.js: 将JavaScript进行到底
  2. 设计模式——开闭原则
  3. overflow:hidden属性
  4. 解决VS中的 无法启动程序,系统找不到指定文件 问题
  5. linux提权参考方法
  6. Windows 10 (Multiple Editions), Version 1607
  7. HC-SR04超声波测距模块的高精度使用方法
  8. 微软的是怎样进行测试的(转)
  9. Easy-Es核心功能深度介绍
  10. 关于onCreate(Bundle savedInstanceState, PersistableBundle persistentState)