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

一、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::ofstream

int 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 - 博客园

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VS2019中安装Boost,可以按照以下步骤进行操作: 1. 首先,需要下载并安装Boost。可以从Boost官方网站(https://www.boost.org/)上下载最新版本的Boost。确保选择与你的操作系统和编译器版本相对应的Boost版本。 2. 下载完成后,解压缩Boost的压缩文件。 3. 打开Visual Studio 2019,创建一个新的C++项目或打开你已有的项目。 4. 在Visual Studio中,点击菜单栏上的“项目”->“属性”来打开项目属性窗口。 5. 在项目属性窗口中,选择“VC++目录”选项,并点击“包含目录”一项,然后点击右侧的编辑按钮。 6. 在包含目录编辑框中,添加Boost的解压缩路径,这样编译器就能找到Boost的头文件。确保路径正确,然后点击“确定”。 7. 回到项目属性窗口,选择“链接器”->“常规”选项,然后点击右侧的编辑按钮。 8. 在目录编辑框中,添加Boost的解压缩路径,这样链接器就能找到Boost文件。确保路径正确,然后点击“确定”。 9. 继续在“链接器”->“输入”选项中,点击右侧的编辑按钮。 10. 在附加依赖项编辑框中,添加需要使用的Boost的名称,比如“libboost_filesystem-vc141-mt-x64-1_75.lib”。确保文件名称正确,然后点击“确定”。 11. 点击“应用”和“确定”按钮,保存项目属性的更改。 现在,你的VS2019项目已经配置好了Boost。你可以在项目中使用Boost的各种功能了。具体的Boost的使用方法和函数,可以参考Boost官方文档或者相关的教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++11 文件(vs2019 安装配置boost)](https://blog.csdn.net/kenjianqi1647/article/details/112971613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值