0

我有一个应该格式化的路径常量:

using std::string;

const string PATH = "/sys/class/gpio/gpio%d/value";

目前我现在才用 C 方式做到这一点asprintf

char * path;

asprintf(&path, "/sys/class/gpio/gpio%d/value", 44);

/* use path */

free(path);

执行此操作的 CPP(流)方式是什么(不幸的是不能使用 C++11)?

4

1 回答 1

3

使用 astd::stringstream是一种方法:

#include <sstream>
using namespace std;

...

int val = 44;

stringstream ss;
ss << "/sys/class/gpio/gpio" << val << "/value";

string path = ss.str();

另一种选择是boost::format,但我现在还不够熟悉,无法给出示例代码......

于 2013-07-14T15:18:00.880 回答