c++(vs)有没有办法把资源文件放在lib中

项目中的某个模块需要读个文件(纯文本的文件,目前为.txt格式)

想用这个模块就必须手动把资源文件放进来,这样就很不方便,有没有办法把这个模块和这个资源文件放在一起做成个.lib静态库,这样项目直接调用,更加方便?
阅读 6k
1 个回答

楼主直接把文本文件写到代码里不就好了。下面我举个简单的例子:

库的头文件和实现文件:

#pragma once

#include <string>

class Resource
{
public:
    static std::string GetResource();
};
#include "Header.h"
using namespace std;

std::string Resource::GetResource()
{
    //你的txt文件写在这里,函数返回
    string s = "1 abc\n";
    s += "2 def\n";
    s += "3 ghi\n";
    return s;
}

调用的时候这样

#include "../Lib/Header.h"
#include <string>
#include <iostream>
using namespace std;

#pragma comment(lib,"Lib.lib")

int main()
{
    string res = Resource::GetResource();
    cout << res << endl;
    return 0;
}

贴个运行结果

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题