我正在阅读《C++ Primer》一书,并在它使用的文件输入输出章节中:
ifstream infile(ifile.c_str());
打开名称在字符串中的文件ifile
.
我尝试了该代码,即使没有,它也能完美运行c_str()
.那么使用它有什么意义呢?
我应该使用c_str()
当我尝试从命令行参数打开文件时?我的意思是哪个是正确的用法:
ifstream fin( argv[1] )
or
ifstream fin( argv[1].c_str() )
构造函数为ifstream
过去只需要一个const char *
(这就是c_str()
方法提供。
我相信有一个新的构造函数需要std::string
在即将推出的标准中,(编辑)参见这个答案.
它也可能特定于您的实施。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)