如何通过fstream来访问用string类保存文件名的文件。

如果我想用ifstream调用文件xxx.txt可以用ifstreamfile1("xxx.txt");但我令stringstr="xxx.txt"我现在想用str作为参... 如果我想用ifstream调用文件xxx.txt
可以用
ifstream file1("xxx.txt");
但我令string str="xxx.txt"
我现在想用str作为参数来调用
ifstream file1(str);会显示语法错误
ifstream file1(“str”);不会语法错误但不能像ifstream file1("xxx.txt");一样
正确调用到xxx.txt文件

也就是说,我如果通过string类保存了一个文件名,怎么通过fstream调用它?
展开
 我来答
Bk0X
2012-06-25 · TA获得超过9413个赞
知道小有建树答主
回答量:1217
采纳率:60%
帮助的人:671万
展开全部
标准库fstream流只接受一个C式的字符串作为文件名, 并不接受string作为参数.
对于这一点我也很疑惑哦, 为什么标准库不重载一个呢...

可以使用string的c_str()成员函数来把string类型转换为C式的字符串
string file_name = "ssss.txt";
ifstream file1(file_name.c_str()); // c_str函数把string用C字符串的样式返回.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式