sau*_*atz 2 c++ ansi visual-studio
在Visual Studio 2010中,即使使用/ Za(struct ANSI)编译器标志,以下代码也可以工作.
string name = "input.txt";
ifstream fin;
fin.open(name);
Run Code Online (Sandbox Code Playgroud)
我能找到的所有文档似乎都表明你必须将一个C字符串传递给ifstream :: open.这真的是ANSI现在,还是微软的扩展,还有/Za旗帜的问题?
谢谢,
索尔
在C++ 11中,您可以直接传递字符串.Visual Studio 10支持此功能.在C++ 11之前,你必须传递一个c字符串,你可以这样做:
fin.open(name.c_str());
Run Code Online (Sandbox Code Playgroud)