作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在(ofstream)文件路径中将变量与字符串值结合起来
示例:
long phNumber;
char bufPhNumber[20];
ofstream ifile;
cout << "Phone Number: ";
cin >> phNumber;
itoa(phNumber,bufPhNumber,20);
ifile.open("c://" + bufPhNumber + ".txt",ios::out); // error in this line
如何将此变量 (bufPhNumber) 与该字符串组合(“c://”+此处的变量 +“.txt”)
最佳答案
这样做:
ifile.open((std::string("c://") + bufPhNumber + ".txt").c_str(),ios::out);
解释:
它首先创建一个字符串,然后使用 operator+()
连接其余的 c 字符串:
std::string temp = std::string("c://") + bufPhNumber + ".txt";
然后获取 c_str()
并将其传递给 .open()
:
ifile.open(temp.c_str(),ios::out);
然而,在C++11中,你不需要做.c_str()
,你可以直接使用std::string
。
更好的解决方案应该是这样的:
std::string phNumber; //declare it as std::string
cout << "Phone Number: ";
cin >> phNumber; //read as string
//use constructor
ofstream ifile(("c://" + phNumber + ".txt").c_str(), ios::out);
关于c++ - 如何将变量与字符串值组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777918/
我是一名优秀的程序员,十分优秀!