在Visual Studio 2010中,即使使用/Za(struct ANSI)编译器标志,以下代码也可以工作。
string name = "input.txt";
ifstream fin;
fin.open(name);
我能找到的所有文档似乎都表明你必须向ifstream::open传递一个C字符串。现在这真的是ANSI吗?还是微软的扩展,以及/Za
标志的问题?
谢啦
扫罗
在Visual Studio 2010中,即使使用/Za(struct ANSI)编译器标志,以下代码也可以工作。
string name = "input.txt";
ifstream fin;
fin.open(name);
我能找到的所有文档似乎都表明你必须向ifstream::open传递一个C字符串。现在这真的是ANSI吗?还是微软的扩展,以及/Za
标志的问题?
谢啦
扫罗
1条答案
按热度按时间pw136qt21#
在C11中,你可以直接传递字符串。Visual Studio 10支持这一点。在C11之前,你必须传递一个c-string,你可以这样做: